Difference between revisions of "Module:Infobox road/map"
Jump to navigation
Jump to search
test>Jackmcbarn (don't error on novalue, etc.) |
test>Hoo man (Fix, per https://lists.wikimedia.org/pipermail/wikidata-l/2015-February/005450.html) |
||
| Line 16: | Line 16: | ||
local entity = mw.wikibase.getEntity() or {} | local entity = mw.wikibase.getEntity() or {} | ||
local claims = entity.claims or {} | local claims = entity.claims or {} | ||
| − | local mapProp = claims. | + | local mapProp = claims.P15 |
| − | if not mapProp or mapProp[ | + | if not mapProp or mapProp[1].mainsnak.snaktype ~= 'value' then |
return "" | return "" | ||
end | end | ||
| − | map = mapProp[ | + | map = mapProp[1].mainsnak.datavalue.value |
end | end | ||
local filecode = "[[File:" .. map .. "|" | local filecode = "[[File:" .. map .. "|" | ||
Revision as of 16:59, 9 April 2015
local p = {}
local mapsizes = {["DEU"] = "200", ["USA"] = "290x172"}
function p.map(frame)
local pframe = frame:getParent()
local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template
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.getEntity() 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