Modul:WikidataParameter
Dokumentasjon for denne modulen kan opprettes på Modul:WikidataParameter/dok
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
function p.frameargs(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
return args
end
-- Return bilde til artikkelen
function p.wikidataparameter(frame)
local args = p.frameargs(frame)
if not args then
return ""
end
local pxxx = args['wdparam']
local nbpar = args['nbparam']
if not pxxx or not nbpar then
return ""
end
if not mw.wikibase then
return ""
end
local artikkel = mw.wikibase.getEntity()
if not artikkel then
return ""
end
local claims = artikkel.claims
if not claims then
return ""
end
local parameter = claims[pxxx]
if not parameter then
return ""
end
if not parameter[0].mainsnak then return end
if not parameter[0].mainsnak.datavalue then return end
return parameter[0].mainsnak.datavalue.value
end
function p.frameparameter(frame)
local args = p.frameargs(frame)
if not args then
return ""
end
local nbpar = args['nbparam']
if args[nbpar] then
return args[nbpar]
end
return ""
end
function p.velgparameter(frame)
local bilde = p.frameparameter(frame)
if bilde then
if bilde == "" then
-- return ""
else
return bilde
end
else
return ""
end
return p.wikidataparameter(frame)
end
function p.sammenlignparameter(frame)
local args = p.frameargs(frame)
if not args then
return "[[Kategori:test1]]"
end
local pxxx = args['wdparam']
local nbpar = args['nbparam']
if not pxxx or not nbpar then
return "[[Kategori:test2]]"
end
local fraframe = p.frameparameter(frame)
local frawikidata = p.wikidataparameter(frame)
if fraframe == frawikidata or "[[" .. tostring(frawikidata) .. "]]" == fraframe then
if fraframe == "" then
return "[[Kategori:test3]]"
else
return "[[Kategori:Artikler hvor " .. nbpar .. " er samme som på Wikidata]]"
end
else
if frawikidata == "" then
return "[[Kategori:Artikler hvor " .. nbpar .. " mangler på Wikidata]]"
end
if fraframe == "" then
return "[[Kategori:Artikler uten " .. nbpar .. " i infoboks med " .. nbpar .. " på Wikidata]]"
end
return "[[Kategori:Artikler med " .. nbpar .. " forskjellig fra Wikidata " .. fraframe .. " vs " .. frawikidata .. "]]"
end
end
function p.sammenligindre(value1,value2,navn)
if value1 == value2 then
if value1 == "" then
return "[[Kategori:test3]]"
else
return "[[Kategori:Artikler hvor " .. navn .. " er samme som på Wikidata]]"
end
else
if value2 == "" then
return "[[Kategori:Artikler hvor " .. navn .. " mangler på Wikidata]]"
end
if value1 == "" then
return "[[Kategori:Artikler uten " .. navn .. " i infoboks med " .. navn .. " på Wikidata]]"
end
return "[[Kategori:Artikler med " .. navn .. " forskjellig fra Wikidata" .. value1 .. " vs " .. value2 .. "]]"
end
end
function p.sammenlign(frame)
local args = p.frameargs(frame)
if not args then
return "[[Kategori:test1]]"
end
local pxxx = args['wdparam']
local nbpar = args['nbparam']
local parid = args['id']
if not pxxx or not nbpar or not parid then
return "[[Kategori:test2]]"
end
return p.sammenligindre(nbpar,pxxx,parid)
end
return p