Modul:WikidataParameter: Forskjell mellom sideversjoner
Hopp til navigering
Hopp til søk
(Change from mw.wikibase.getEntity (deprecated) to mw.wikibase.getEntityObject) |
(Tømmer siden) |
||
Linje 1: | Linje 1: | ||
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.getEntityObject() |
|||
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[1].mainsnak then return end |
|||
if not parameter[1].mainsnak.datavalue then return end |
|||
return parameter[1].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 or "[[" .. value1 .. "]]" == value2 or value1 == "[[" .. value2 .. "]]" then |
|||
if value1 == "" then |
|||
return "" |
|||
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]]" |
|||
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 |
|||
function p.getEntityIdFromValue( value ) |
|||
local prefix = '' |
|||
if value['entity-type'] == 'item' then |
|||
prefix = 'Q' |
|||
elseif value['entity-type'] == 'property' then |
|||
prefix = 'P' |
|||
else |
|||
return formatError( 'unknown-entity-type' ) |
|||
end |
|||
return prefix .. value['numeric-id'] |
|||
end |
|||
function p.wikidataetikett(frame) |
|||
local artikkel = mw.wikibase.getEntityObject() |
|||
if not artikkel then |
|||
return "" |
|||
end |
|||
if not artikkel.labels then |
|||
return "" |
|||
end |
|||
local etikett = artikkel.labels['nb'] |
|||
if etikett then |
|||
return etikett |
|||
end |
|||
etikett = artikkel.labels['no'] |
|||
return etikett |
|||
end |
|||
function p.wikidataetikettsjekk(frame) |
|||
local etikett = p.wikidataetikett(frame) |
|||
if not etikett or etikett == "" then |
|||
return "[[Kategori:Artikler som mangler etikett på Wikidata]]" |
|||
else |
|||
return "" |
|||
end |
|||
end |
|||
return p |
Sideversjonen fra 17. apr. 2019 kl. 13:37
Dokumentasjon for denne modulen kan opprettes på Modul:WikidataParameter/dok