Hopp til innhald

Modul:Sams

Frå Wikipedia – det frie oppslagsverket

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