Modul:P1566
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, '.. j .. ' ' .. j .. '')
end
return table.concat(a, '
')
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, '.. j.mainsnak.datavalue.value .. ' ' .. j.mainsnak.datavalue.value .. '')
end
end
end
return table.concat(s, '
')
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 end if not entity.claims or not entity.claims["P1566"] then return 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 end end
return p
