Difference between revisions of "Module:Infobox road/map/sandbox"
< Module:Infobox road | map
Jump to navigation
Jump to search
test>Happy5214 (Create sandbox version of Module:Infobox road/map) |
test>Happy5214 (Updating to mw.wikibase.getEntityObject; using tabs for indentation) |
||
| Line 4: | Line 4: | ||
function p.map(frame) | 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 | end | ||
return p | return p | ||
Revision as of 22:26, 20 February 2015
Documentation for this module may be created at Module:Infobox road/map/sandbox/doc
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