Modul:WikidataParameter
Hopp til navigering
Hopp til søk
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.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