Modul:WikidataBanediagram
Utseende
Moduldokumentasjon
Formål
[rediger kilde]Hvis Wikidata har definert et banediagram leveres det bildet tilbake dersom det ikke er gitt et banediagram med som argument
Bruk
[rediger kilde]Modulen brukes ved å legge inn : {{#invoke:WikidataBanediagram|banediagram}} i en mal. Malen {{Banediagram fra Wikidata}} har implementert dette.
local p = {}
function dump( out )
if type( out ) == 'table' then
local s = '{ '
for k,v in pairs( out ) do
if type( k ) ~= 'number' then k = '"'..k..'"' end
s = s .. '['..k..'] = ' .. dump( v ) .. ','
end
return s .. '} '
else
return tostring( out )
end
end
-- Return bilde til artikkelen
function p.wikidatabanediagram(frame)
if not mw.wikibase then
return ""
end
local artikkel = mw.wikibase.getEntityObject()
if not artikkel then
return ""
end
local claims = artikkel.claims
if not claims then
return ""
end
local p491 = claims.P491
if not p491 then
return ""
end
return p491[1].mainsnak.datavalue.value
end
function p.framebanediagram(frame)
local args = frame.args
if args[1] == nil then
local pFrame = frame:getParent();
args = pFrame.args;
for k,v in pairs( frame.args ) do
args[k] = v;
end
end
if args['banediagram'] then
return args['banediagram']
end
return ""
end
function p.velgbanediagram(frame)
local symbol = p.framebanediagram(frame)
if banediagram then
if banediagram == "" then
-- return ""
else
return banediagram
end
else
return ""
end
return p.wikidatabanediagram(frame)
end
function p.sammenlignbanediagram(frame)
local fraframe = p.framebanediagram(frame)
local frawikidata = p.wikidatabanediagram(frame)
if fraframe == frawikidata then
if fraframe == "" then
return ""
else
return "[[Kategori:Artikler hvor banediagram er samme som på Wikidata]]"
end
else
if frawikidata == "" then
return "[[Kategori:Artikler hvor banediagram mangler på Wikidata]]"
end
if fraframe == "" then
return "[[Kategori:Artikler uten banediagram i infoboks med banediagram på Wikidata]]"
end
return "[[Kategori:Artikler med banediagram forskjellig fra Wikidata]]"
end
end
return p