Modul:WikidataBanediagram
Hopp til navigering
Hopp til søk
Formål
Hvis Wikidata har definert et banediagram leveres det bildet tilbake dersom det ikke er gitt et banediagram med som argument
Bruk
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