Module:Infobox road/map/sandbox

local p = {}

local format = mw.ustring.format

local mapsizes = {

DEU = "200",

USA = "290x172"

}

function p._map(args)

local map = args.map or ''

if args.map_custom == "yes" then

return format('%s', map)

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 mapsize = mapsizes[args.country] or '290'

local alt = args.map_alt or ''

return format("File:%s", map, mapsize, alt)

end

function p.map(frame)

local argsModule = require("Module:Arguments")

local args = argsModule.getArgs(frame)

local state = args.state or args.province

if not args.country then

local countryMask = mw.loadData("Module:Road data/countrymask")

args.country = countryMask[state]

end

return p._map(args)

end

return p