Module:Infobox road/map/sandbox: Difference between revisions
Appearance
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"} |
|||
⚫ | |||
⚫ | |||
DEU = "200", |
|||
⚫ | |||
USA = "290x172" |
|||
⚫ | |||
} |
|||
⚫ | |||
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;"> |
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 countrymod = require("Module:Infobox road/meta/mask/country") |
|||
return format("[[File:%s|%spx|alt=%s]]", map, mapsize, alt) |
|||
local countryarg = args.country |
|||
end |
|||
⚫ | |||
⚫ | |||
⚫ | |||
local state = args.state or args.province |
local state = args.state or args.province |
||
⚫ | |||
⚫ | |||
local countryMask = mw.loadData("Module:Road data/countrymask") |
|||
if countryarg and state then |
|||
country = |
args.country = countryMask[state] |
||
end |
end |
||
return p._map(args) |
|||
⚫ | |||
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
![]() | This is the module sandbox page for Module:Infobox road/map (diff). |
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