Module:Infobox road/meta/mask/country: Difference between revisions

From IxWiki
Jump to navigation Jump to search
>Jackmcbarn
(no sense giving an error if the country isn't found. the caller can handle it. also use Module:Arguments and fix indentation)
 
mNo edit summary
 
Line 5: Line 5:
local countries = {}
local countries = {}
do
do
do -- United States
do -- Cartadania
local states = {"CA", "TX", "NY", "FL", "IL", "PA", "OH", "MI", "GA", "NC", "NJ", "VA", "WA", "AL", "AK", "AZ", "AR", "CO", "CT", "DE",
local states = {"AC", "AE", "AL", "AV", "BA", "CX", "CA", "CT", "ES", "FE", "GU", "LI", "LO", "LT", "LM", "MA", "MF", "NV", "PB", "SA",
"HI", "ID", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NM", "ND",
"SR", "SM", "SG", "SI", "SL", "TN", "TS", "TO", "TR", "TA", "VA", "VI", "VT", "AH", "HJ", "PV", "SD", "SE"}
"OK", "OR", "RI", "SC", "SD", "TN", "UT", "VT", "WV", "WI", "WY", "DC", "AS", "GU", "MP", "PR", "UM", "VI"}
for i,v in ipairs(states) do
for i,v in ipairs(states) do
countries[v] = "USA"
countries[v] = "CAR"
end
end
end -- United States
end -- Cartadania
do -- Canada
do -- Canada
local provinces = {"AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT"}
local provinces = {"AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT"}

Latest revision as of 14:55, 12 May 2024

Documentation for this module may be created at Module:Infobox road/meta/mask/country/doc

local p = {}

local getArgs

local countries = {}
do
	do -- Cartadania
		local states = {"AC", "AE", "AL", "AV", "BA", "CX", "CA", "CT", "ES", "FE", "GU", "LI", "LO", "LT", "LM", "MA", "MF", "NV", "PB", "SA",
						"SR", "SM", "SG", "SI", "SL", "TN", "TS", "TO", "TR", "TA", "VA", "VI", "VT", "AH", "HJ", "PV", "SD", "SE"}
		for i,v in ipairs(states) do
			countries[v] = "CAR"
		end
	end -- Cartadania
	do -- Canada
		local provinces = {"AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT"}
		for i,v in ipairs(provinces) do
			countries[v] = "CAN"
		end
	end -- Canada
	do -- Mexico
		local states = {"AGU", "BCN", "BCS", "CAM", "CHP", "CHH", "COA", "COL", "DIF", "DUR", "GUA", "GRO", "HID", "JAL", "MEX", "MIC", "MOR",
						"NAY", "NLE", "OAX", "PUE", "QUE", "ROO", "SLP", "SIN", "SON", "TAB", "TAM", "TLA", "VER", "YUC", "ZAC"}
		for i,v in ipairs(states) do
			countries[v] = "MEX"
		end
	end -- Mexico
	do -- Australia
		local states = {"NSW", "QLD", "SA", "TAS", "VIC"}
		for i,v in ipairs(states) do
			countries[v] = "AUS"
		end
	end -- Australia
end

p.mapping = countries

function p._country(state, country)
	return country and string.upper(country) or countries[state]
end

function p.country(frame)
	if not getArgs then
		getArgs = require('Module:Arguments').getArgs
	end
	local args = getArgs(frame)
	return p._country(args[1], args[2])
end

return p