Modul:WikidataCommonscat: Forskjell mellom sideversjoner
Hopp til navigering
Hopp til søk
(Tømmer siden) |
m (Tilbakestilte endring av Russisk ubåtkaptein (bidrag) til siste versjon av KristofferAG) |
||
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 .. '} <br>' |
|||
else |
|||
return tostring( out ) |
|||
end |
|||
end |
|||
-- Returner commons categori til artikkelen fra wikidata |
|||
function p.wikidatacommonscat(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 p373 = claims.P373 -- ikke p men P |
|||
if not p373 then |
|||
return "" |
|||
end |
|||
return p373[1].mainsnak.datavalue.value |
|||
end |
|||
function p.framecommonscat(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['comcat'] then |
|||
return args['comcat'] |
|||
end |
|||
return "" |
|||
end |
|||
function p.comparecommonscat(frame) |
|||
local comcatframe = p.framecommonscat(frame) |
|||
local comcatwikidata = p.wikidatacommonscat(frame) |
|||
if comcatframe == comcatwikidata then |
|||
if comcatframe == "" then |
|||
return "" |
|||
else |
|||
return "[[Kategori:Artikler hvor comcat er samme som på Wikidata]]" |
|||
end |
|||
else |
|||
if comcatwikidata == "" then |
|||
return "[[Kategori:Artikler hvor comcat mangler på Wikidata]]" |
|||
end |
|||
if comcatframe == "" then |
|||
-- return "[[Kategori:Artikler uten comcat]]" |
|||
return "" |
|||
end |
|||
return "[[Kategori:Artikler med comcat forskjellig fra Wikidata]]" |
|||
end |
|||
end |
|||
function p.velgcommonscat(frame) |
|||
local commonscat = p.framecommonscat(frame) |
|||
if commonscat then |
|||
if commonscat == "" then |
|||
return p.wikidatacommonscat(frame) |
|||
else |
|||
return commonscat |
|||
end |
|||
else |
|||
return p.wikidatacommonscat(frame) -- ser ikke ut til å komme hit |
|||
end |
|||
return p.wikidatacommonscat(frame) -- ser ikke ut til å komme hit |
|||
end |
|||
return p |
Sideversjonen fra 17. apr. 2019 kl. 13:53
Modul som brukes av {{Commonscat fra Wikidata}}
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 .. '} <br>' else return tostring( out ) end end -- Returner commons categori til artikkelen fra wikidata function p.wikidatacommonscat(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 p373 = claims.P373 -- ikke p men P if not p373 then return "" end return p373[1].mainsnak.datavalue.value end function p.framecommonscat(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['comcat'] then return args['comcat'] end return "" end function p.comparecommonscat(frame) local comcatframe = p.framecommonscat(frame) local comcatwikidata = p.wikidatacommonscat(frame) if comcatframe == comcatwikidata then if comcatframe == "" then return "" else return "[[Kategori:Artikler hvor comcat er samme som på Wikidata]]" end else if comcatwikidata == "" then return "[[Kategori:Artikler hvor comcat mangler på Wikidata]]" end if comcatframe == "" then -- return "[[Kategori:Artikler uten comcat]]" return "" end return "[[Kategori:Artikler med comcat forskjellig fra Wikidata]]" end end function p.velgcommonscat(frame) local commonscat = p.framecommonscat(frame) if commonscat then if commonscat == "" then return p.wikidatacommonscat(frame) else return commonscat end else return p.wikidatacommonscat(frame) -- ser ikke ut til å komme hit end return p.wikidatacommonscat(frame) -- ser ikke ut til å komme hit end return p