Jump to content

Module:Infobox road/map/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Updating to mw.wikibase.getEntityObject; using tabs for indentation
Added function taking arguments directly.
 
Line 1: Line 1:
local p = {}
local p = {}


local format = mw.ustring.format
local mapsizes = {["DEU"] = "200", ["USA"] = "290x172"}


local mapsizes = {
function p.map(frame)
DEU = "200",
local argsModule = require("Module:Arguments")
USA = "290x172"
local args = argsModule.getArgs(frame)
}

local map_custom = args.map_custom or ''
function p._map(args)
local map = args.map or ''
local map = args.map or ''
if map_custom == "yes" then
if args.map_custom == "yes" then
return '<span style="white-space:nowrap;">' .. map .. '</span>'
return format('<span style="white-space:nowrap;">%s</span>', map)
end
end
if map == '' then
if map == '' then
Line 21: Line 22:
map = mapProp[1].mainsnak.datavalue.value
map = mapProp[1].mainsnak.datavalue.value
end
end

local filecode = "[[File:" .. map .. "|"
local mapsize = mapsizes[args.country] or '290'
local alt = args.map_alt or ''
local countrymod = require("Module:Infobox road/meta/mask/country")
return format("[[File:%s|%spx|alt=%s]]", map, mapsize, alt)
local countryarg = args.country
end

function p.map(frame)
local argsModule = require("Module:Arguments")
local args = argsModule.getArgs(frame)
local state = args.state or args.province
local state = args.state or args.province
if not args.country then
local country = ''
local countryMask = mw.loadData("Module:Road data/countrymask")
if countryarg and state then
country = countrymod._country(state, countryarg)
args.country = countryMask[state]
end
end
return p._map(args)
local mapsize = mapsizes[country] or '290'
local alt = args.map_alt or ''
filecode = filecode .. mapsize .. 'px|alt=' .. alt .. ']]'
return filecode
end
end



Latest revision as of 17:12, 1 May 2016

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('<span style="white-space:nowrap;">%s</span>', 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|%spx|alt=%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