Difference between revisions of "Module:Infobox road/map"

From blackwiki
Jump to navigation Jump to search
test>Happy5214
(Import from simplewiki (I am the only contributor))
 
test>Happy5214
m (Remove comments from old version)
Line 17: Line 17:
 
         local claims = entity.claims or {}
 
         local claims = entity.claims or {}
 
         local mapProp = claims.p15
 
         local mapProp = claims.p15
         if not mapProp then -- no claim of that property
+
         if not mapProp then
 
             return ""
 
             return ""
 
         end
 
         end
         map = mapProp[0].mainsnak.datavalue.value -- This should eventually iterate over all possible values?
+
         map = mapProp[0].mainsnak.datavalue.value
 
     end
 
     end
 
     local filecode = "[[File:" .. map .. "|"
 
     local filecode = "[[File:" .. map .. "|"

Revision as of 12:44, 31 May 2013

{{Module rating }}

Usage

{{#invoke:Infobox road|function_name}}



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 then
            return ""
        end
        map = mapProp[0].mainsnak.datavalue.value
    end
    local filecode = "[[File:" .. map .. "|"
    
    local countrymod = require"Module:Infobox road/meta/mask/country"
    local state = args.state or args.province or ''
    local country = countrymod._country(state, args.country)
    
    local mapsize = mapsizes[country] or '290'
    local alt = args.map_alt or ''
    filecode = filecode .. mapsize .. 'px|alt=' .. alt .. ']]'
    return filecode
end

return p