Modul:P1566
Dokumentation [visa] [redigera] [historik] [rensa sidcachen]
Den här modulen används på över 1 000 000 sidor. För att undvika stor förstörelse och onödig belastning på servern, bör ändringar av den här mallen först göras i testmallen. |
p = {}
p.geonames = function(frame)
local pFrame = frame:getParent();
args = pFrame.args;
if args.geonames then
if args.geonames ~= '' then
local ids = mw.text.split(args.geonames,',')
local a = {}
for i, j in pairs(ids) do
table.insert(a, '[http://sws.geonames.org/' .. j .. ' ' .. j .. ']')
end
return table.concat(a, '<br/>')
else
return nil
end
end
local entity = nil
if args.qid then
entity = mw.wikibase.getEntity( qid )
else
entity = mw.wikibase.getEntity()
end
if not entity then
return nil
end
if not entity.claims then
return nil
end
local s = {}
if not entity.claims["P1566"] and entity.claims["P361"] then
for i, j in pairs(entity.claims["P361"]) do
if j.mainsnak.snaktype == 'value' and j.rank ~= 'deprecated' then
--local qid = 'Q' .. j.mainsnak.datavalue['numeric-id']
--local e = mw.wikibase.getEntity(qid)
--table.insert(s, hart(e))
end
end
elseif entity.claims["P1566"] then
for i, j in pairs(entity.claims["P1566"]) do
if j.mainsnak.snaktype == 'value' and j.rank ~= 'deprecated' then --
table.insert(s, '[http://sws.geonames.org/' .. j.mainsnak.datavalue.value .. ' ' .. j.mainsnak.datavalue.value .. ']')
end
end
end
return table.concat(s, '<br/>')
end
p.tracking = function(frame)
local pFrame = frame:getParent();
args = pFrame.args;
if not args.geonames or mw.title.getCurrentTitle().namespace ~= 0 or args.geonames == '' then
return nil
end
local entity = mw.wikibase.getEntity()
if not entity then
return '[[Kategori:Wikipedia:Artiklar som saknar Wikidataobjekt]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
if not entity.claims or not entity.claims["P1566"] then
return '[[Kategori:Wikipedia:Artiklar med geonames-parameter utan P1566 på Wikidata]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
local s = {}
for i, j in pairs(entity.claims["P1566"]) do
if j.mainsnak.snaktype == 'value' and j.rank ~= 'deprecated' then
table.insert(s, j.mainsnak.datavalue.value)
end
end
if args.geonames ~= table.concat(s, ',') then
return '[[Kategori:Wikipedia:Artiklar där geonames-parametern och P1566 på Wikidata inte överensstämmer]][[Kategori:Wikipedia:Alla artiklar med åtgärdsbehov relaterade till Wikidata]]'
end
end
return p