Modul:Astronomilenker
Utseende
local genitiv = require('Modul:Genitiv')._genitiv
local entity = mw.wikibase.getEntityObject()
claims = {}
if entity then
claims = entity.claims
end
--[[ I denne oversikten er egenskaps-ID-en først («P###»),
etter den kommer betegnelsen som er en del av lenka,
og så teksten som beskriver hvilket nettsted det er på,
og til slutt språkkoden for nettstedet. Formen er dermed:
{ "EgenskapsID", "lenkebetegnelse", "lenkebeskrivelse", "språkkode" },
]]
local oversikt = {
{ "P716", "baneparametre ", "hos [[Jet Propulsion Laboratory|JPL Small-Body Database]]", "engelsk" },
{ "P1296", "oppføring ", "hos Gran Enciclopèdia Catalana", "spansk" },
}
local function etikett()
if not entity then
label = mw.title.getCurrentTitle().text
else
label = mw.wikibase.label(entity.id) or mw.title.getCurrentTitle().text
return genitiv(label)
end
end
local p = {}
function p.astronomilenker(frame)
local lenker = {}
for _,v in pairs(oversikt) do
local prop = v[1]
local text = v[2]
local desc = v[3]
local lang = v[4]
if claims then
if claims[prop] and claims[prop][1] and claims[prop][1].mainsnak.datavalue then
formaturlp = mw.wikibase.getEntity(prop).claims['P1630']
if formaturlp and formaturlp[1] and formaturlp[1].mainsnak.datavalue then
formaturl = formaturlp[1].mainsnak.datavalue.value
lenker[#lenker+1] = "* " .. frame:expandTemplate{ title="Språkikon", args = { [1] = lang, [2] = lang } } .. " [" .. string.gsub(formaturl, "$1", claims[prop][1].mainsnak.datavalue.value) .. " " .. etikett() .. " " .. text .. "] " .. desc
end
end
end
end
if entity then
if #lenker == 0 then
lenker[1+#lenker] = ""
lenker[1+#lenker] = '[[Kategori:Artikler uten astronomilenker fra Wikidata]]'
else
lenker[1+#lenker] = '[[Kategori:Artikler med astronomilenker fra Wikidata]]'
end
else
lenker[1+#lenker] = "''Artikkelen mangler oppslag i Wikidata!''"
lenker[1+#lenker] = '[[Kategori:Artikler med astronomilenker og uten kobling til Wikidata]]'
end
return table.concat(lenker,"\n")
end
return p