Homokozó/Balint36/Koord[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

require"Modul:No globals"
local getArgs = require"Modul:Arguments".getArgs

local p = {}

p["lat"] = function (frame)
	local args = getArgs(frame, {wrappers = "Sablon:Infobox/Koordináta"})
	if args[1] == '-' then
		return nil
	end
	if not args[1] then
		args.lat, args.long = getWikidataCoord(args['wd-entity'])
		if not args.lat or not args.long then
			return nil
		end
	end
end

local function getWikidataCoord(entityId)
	local item = mw.wikibase.getEntity(entityId)
	if not item then
		return nil
	end
	local P625 = item:getBestStatements('P625')
	for _, v in ipairs(P625) do
		if v.mainsnak.snaktype == 'value' then
			local lat = P625[1].mainsnak.datavalue.value.latitude
			return lat
		end
	end
	return nil
end

return p