Jump to content

Module:Infobox road/map/sandbox

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Happy5214 (talk | contribs) at 22:26, 20 February 2015 (Updating to mw.wikibase.getEntityObject; using tabs for indentation). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local p = {}

local mapsizes = {["DEU"] = "200", ["USA"] = "290x172"}

function p.map(frame)
	local argsModule = require("Module:Arguments")
	local args = argsModule.getArgs(frame)
	
	local map_custom = args.map_custom or ''
	local map = args.map or ''
	if map_custom == "yes" then
		return '<span style="white-space:nowrap;">' .. map .. '</span>'
	end
	if map == '' then
		local entity = mw.wikibase.getEntityObject() or {}
		local claims = entity.claims or {}
		local mapProp = claims.P15
		if not mapProp or mapProp[1].mainsnak.snaktype ~= 'value' then
			return ""
		end
		map = mapProp[1].mainsnak.datavalue.value
	end
	local filecode = "[[File:" .. map .. "|"
	
	local countrymod = require("Module:Infobox road/meta/mask/country")
	local countryarg = args.country
	local state = args.state or args.province
	local country = ''
	if countryarg and state then
		country = countrymod._country(state, countryarg)
	end
	
	local mapsize = mapsizes[country] or '290'
	local alt = args.map_alt or ''
	filecode = filecode .. mapsize .. 'px|alt=' .. alt .. ']]'
	return filecode
end

return p