Modul:Sams
Utsjånad
Dokumentasjon for modulen kan opprettast på Modul:Sams/dok
-- Modul som samlar informasjon og funksjonar fleire modular kan ha bruk for
local p = {}
-- Funksjonar
function p.erI(element, liste)
for n, ele in ipairs(liste) do
if ele == element then
return true
end
end
return nil
end
-- Informasjon
-- gamle funksjonar
function p.maanader(frame)
liste = {'januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september',
'oktober', 'november', 'desember'}
return liste
end
function p.vekedagar(frame)
liste = {'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag', 'sundag', 'søndag'} -- obs, 8 gilde indeksar
return liste
end
-- nye funksjonar
function p.maanadnamn(tal)
liste = {'januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september',
'oktober', 'november', 'desember'}
return liste[tonumber(tal)]
end
function p.vekedagnamn(tal)
liste = {'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag', 'sundag', 'søndag'} -- obs, 8 gilde indeksar
return liste[tonumber(tal)]
end
function p.hentDato(element, eigenskap)
local datotabell = {}
if element.claims and element.claims[eigenskap] then
dato = element.claims[eigenskap][1].mainsnak.datavalue.value['time']
plussminus = dato:sub(1, 1)
splittaDato = mw.text.split(dato:sub(2, -1), '-')
forteikn = {}
forteikn['-'] = '-'
forteikn['+'] = ''
aarstal_i = splittaDato[1]:find('[^+-0]')
aar = forteikn[plussminus] .. splittaDato[1]:sub(aarstal_i, -1)
maanad = splittaDato[2]
dag = splittaDato[3]:sub(1, 2):gsub('^0', '')
datotabell['år'] = aar
datotabell['månad'] = maanad
datotabell['dag'] = dag
end
return datotabell
end
function p.hentDatostreng(element, eigenskap)
datotabell = p.hentDato(element, eigenskap)
aar = datotabell['år']
maanad = p.maanadnamn(datotabell['månad'])
dag = datotabell['dag']
if not aar or not maanad or not dag then
return nil
end
return dag .. '. ' .. maanad .. ' ' .. aar
end
-- funksjon for parserkall
function p.hentDatostrengParser(frame)
args = frame.args
eigenskap = args[1]
elementID = args[2]
if elementID then
element = mw.wikibase.getEntity(elementID)
else
element = mw.wikibase.getEntityObject()
end
if not element then
return nil
end
return p.hentDatostreng(element, eigenskap)
end
return p