Module:Road data/strings/USA/MO

From the AARoads Wiki: Read about the road before you go
Jump to navigation Jump to search

--[==[
To inspect the content of this data module, use [[Special:ExpandTemplates]]
and enter the following input text:
  {{#invoke:Road data/dump|dump|module=Module:<name-of-this-module>}}

To inspect the content of this data module when editing, enter the following
into the Debug console:
  local util = require("Module:Road data/util")
  print(util.arrayToString(p))
]==]

--Missouri
local MO = require("Module:Road data/strings/USA")

local util = require("Module:Road data/util")
local format = mw.ustring.format

local suffix = " ([dab||%dab%, |]Missouri)"

MO.I.link = {
	["72"] = "Interstate 72",
	["155"] = "Interstate 155 (Missouri–Tennessee)",
	["170"] = "Interstate 170",
	["244"] = "Interstate 270 (Missouri–Illinois)",
	["255"] = "Interstate 255",
	["270"] = "Interstate 270 (Missouri–Illinois)",
	["435"] = "Interstate 435",
	["635"] = "Interstate 635 (Kansas–Missouri)",
	["670"] = "Interstate 670 (Kansas–Missouri)",
	default = {
		hook = "split",
		split = 100,
		above = "Interstate %route% (Missouri)",
		below = "Interstate %route% in Missouri"
	}
}

for k, v in pairs(MO) do if k:find ("^I") then 
	v.link = MO.I.link
	end
end
			
MO.BL.link = "Interstate %route% Business" .. suffix

for k, v in pairs(MO) do if k:find ("^B%a") then 
	v.link = MO.BL.link
	end
end
MO["I-Bus"] = MO.BL

MO.US.link = "U.S. Route %route% in Missouri"

for k, v in pairs(MO) do if k:find ("^US %d") then 
	v.name = MO.US.name
	v.link = MO.US.link
	end
end

MO["US 1978"] = {
	shield = {
		hook = "splitlen",
		split = 3,
		above = "US %route% square.svg",
		below = "US %route%.svg"
	},
	base = MO.US.base,
	name = MO.US.name,
	link = MO.US.link,
	abbr = MO.US.abbr,
	width = "square",
}

for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Emerg", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do
	local spec = MO[" aux "][auxType]
		for k, v in pairs(MO) do if k:find (auxType) then if k:find ("^US") then
			v.link = MO.US.base .. " " .. spec.name .. " ([dab||%dab%, |]Missouri)"
			end
		end
	end
end

for _,year in ipairs({'1926', '1948', '1961'}) do
	for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do
		local type = "US " .. year
		local spec = MO[" aux "][auxType]
		MO[type .. "-" .. auxType] = {
			shield = MO[type].shield,
			shieldmain = MO[type].shieldmain,
			name = MO[type].name .. " " .. spec.name,
			link = MO[type].base .. " " .. spec.name .. suffix,
			abbr = MO[type].abbr .. " " .. spec.abbrsuffix,
			banner = spec.bannerprefix .. " plate " .. year .. ".svg",
			aux = spec.aux,
			width = MO[type].width
		}
	end
end
MO["US 1926-City"].shield = "US %route% City 1926.svg"
MO["US 1926-City"].shieldmain = "US %route% City 1926.svg"
MO["US 1926-City"].banner = ""


MO["US-Bus-Alt"] = {
	shield = MO.US.shield,
	name = MO["US-Bus"].name .. " Alternate",
	link = "U.S. Route %route% Business Alternate ([dab||%dab%, |]Missouri)",
	abbr = MO["US-Bus"].abbr .. " Alt.",
	banner = "Alternate business plate.svg",
	aux = MO[" aux "].Alt,
	width = "expand"
}

MO["US-Hist"].link = MO.US.link

MO.Route = {
	base = "Missouri Route %route%",
	shield = "MO-%route%.svg",
	name = "Route %route%",
	link = "Missouri Route %route% [dab||(%dab%)|]",
	abbr = "Route&nbsp;%route%",
	width = "expand"
}

MO.MO = MO.Route

for _,type in ipairs({"Route", "MO"}) do
	for _,year in ipairs({"1922", "1926", "1948", "1960"}) do
		MO[type .. " " .. year] = {
			shield = format("MO-%%route%% (%s).svg", year),
			name = MO.Route.name,
			link = MO.Route.link,
			abbr = MO.Route.abbr,
			width = "square",
		}
	end
end

MO["Route 1960"].shield = MO.Route.shield --until squares are made
MO["MO 1960"] = MO["Route 1960"]

for _,type in ipairs({"Route", "MO"}) do
	for _,auxType in ipairs({"Alt", "Bus", "Spur", "Temp",}) do
		local spec = MO[" aux "][auxType]
		MO[type .. "-" .. auxType] = {
			shield = MO[type].shield,
			name = MO[type].name .. " " .. spec.name,
			link = MO[type].base .. " " .. spec.name .. MO[" dab "],
			abbr = MO[type].abbr .. " " .. spec.abbrsuffix,
			banner = spec.bannerprefix .. " plate.svg",
			aux = spec.aux,
			width = "expand"
		}
	end
end
MO.Bus = MO["Route-Bus"]
MO.Spur = MO["Route-Spur"]

MO.Supp = {
	shield = "MO-supp-%route%.svg",
	name = MO.Route.name,
	link = {
		ifexists = true,
		default = "Missouri Route %route% [county||(%county% County)|]"
	},
	abbr = MO.Route.abbr,
	width = "MOSupp"
}

MO.AOTS = {
	shield = {
		arg = "route",
		["27"] = "MO-27.svg",
		["61"] = "US 61.svg"
	},
	link = {
		arg = "route",
		["27"] = "Avenue of the Saints",
		["61"] = "U.S. Route 61 in Missouri"
	},
	abbr = {
		arg = "route",
		["27"] = "Route 27",
		["61"] = "US 61"
	},
	banner = "Avenue of the Saints banner.svg",
	width = "square"
}
MO["US-AOTS"] = MO.AOTS

MO.CKC = {
	shield = "MO-110.svg",
	name = "Chicago–Kansas City Expressway",
	link = "Chicago–Kansas City Expressway",
	abbr = "Route&nbsp;110 (CKC)",
	banner = "Chicago-Kansas City Expressway plate.svg",
	width = "wide"
}

-- add new types above this line if you want it to have the state highway browse and maint
for k, v in pairs(MO) do if k:find ("^%a") then
	v.maint = "[[Missouri Department of Transportation|MoDOT]]"
	v.browse = "[[Missouri State Highway System]]"
	v.browselinks = {
		[1] = "[[List of Interstate Highways in Missouri|Interstate]]",
		[2] = "[[List of U.S. Routes in Missouri|US]]",
		[3] = "[[List of state highways in Missouri|State]]",
		[4] = "[[Missouri supplemental route|Supplemental]]"
		}
	end
end

MO.Branson = {
	shield = "Branson %route% Route.svg",
	name = "%route% Route",
	link = "",
	abbr = "%route% Route",
	maint = "",
	bannersuffix = "green"
}

MO.CR.link = {
	ifexists = true,
	default = "County Road %route% (%county% County, Missouri)",
	otherwise = ""
}
MO.CR.maint = ""

MO.SRCR = {
	shield = MO.Route.shield,
	shieldmain = {MO.Route.shield, MO.CR.shieldmain},
	name = MO.Route.name,
	link = MO.Route.link,
	abbr = MO.Route.abbr,
	maint = ""
}

MO.AR = {alias = {module = "USA/AR", type = "AR"}}
MO.IL = {alias = {module = "USA/IL", type = "IL"}}
MO.IA = {alias = {module = "USA/IA", type = "IA"}}
MO.KS = {alias = {module = "USA/KS", type = "K"}}
MO.KY = {alias = {module = "USA/KY", type = "KY"}}
MO.OK = {alias = {module = "USA/OK", type = "OK"}}
MO.TN = {alias = {module = "USA/TN", type = "SR"}}
MO["TN-Sec"] = {alias = {module = "USA/TN", type = "Sec"}}

MO.list = {
	shield = "",
	link  = {
		hook = "padroute",
		paddedLength = 4,
		default = "#MO%paddedRoute%"
	},
	abbr = MO.Route.abbr
}

return MO