Modul:P1566

Från Wikipedia

Dokumentation [visa] [redigera] [historik] [rensa sidcachen]


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