Modul:InfoboksHimmellegeme

Fra Wikipedia, den frie encyklopedi
Moduldokumentasjon
--[[
Modul for import av data fra Wikidata til infobokser for himmellegemer
]]
 
local p = {}
 
function cE(prop)
    if prop then
        local qnr =  prop[0].mainsnak.datavalue.value["numeric-id"]
        local lenke = mw.wikibase.sitelink('Q' .. qnr)
        local etikett =  mw.wikibase.label('Q' .. qnr)
        if lenke and etikett then
            return '[[' .. lenke .. '|' .. etikett .. ']]'
        elseif lenke then
            return '[[' .. lenke .. ']]'
        elseif etikett then
            return '[[' .. etikett .. ']]'
            -- kan i noen tilfeller gi blå lenker som skulle vært røde, men likevel bedre enn ulenket?
        else
            return ''
        end
    else
        return false
	end
end

-- Generelle egenskaper
function p.oppdager(frame) -- Hvem som oppdaget himmellegemet
    local artikkel = mw.wikibase.getEntity()
    local claims = artikkel.claims
        if cE(artikkel.claims.p61) then
            return cE(artikkel.claims.p61)
        end
end

function p.funnsted(frame) -- Hvor himmellegemet ble oppdaget fra
    local artikkel = mw.wikibase.getEntity()
    local claims = artikkel.claims
        if cE(artikkel.claims.p65) then
            return cE(artikkel.claims.p65)
        end
end

function p.oppkalt(frame) -- Hvem/hva himmellegemet er oppkalt etter
    local artikkel = mw.wikibase.getEntity()
    local claims = artikkel.claims
        if cE(artikkel.claims.p138) then
            return cE(artikkel.claims.p138)
        end
end
 
function p.objekttype(frame) -- Type himmellegeme
    local artikkel = mw.wikibase.getEntity()
    local claims = artikkel.claims
        if cE(artikkel.claims.p60) then
            return cE(artikkel.claims.p60)
        end
end

return p