Module:Road data/strings/USA/TN

Permanently protected module
From Wikipedia, the free encyclopedia

--[==[
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))
To inspect a particular route type, change `p` above to include the route type,
e.g., `p.I` and `p["US-Hist"]`.
]==]

-- Tennessee
local TN = {}

local util = require("Module:Road data/util")
util.addAll(TN, require("Module:Road data/strings/USA"))

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

TN.I.shieldmain = {
	["140"] = {"I-%route%.svg", "Tennessee 162.svg"},
	default = "I-%route%.svg"
}
TN.I.link = {
	hook = "split",
	split = 100,
	above = "Interstate %route% (Tennessee)",
	below = "Interstate %route% in Tennessee"
}

for k, v in pairs(TN) do if k:find ("^I") then 
	v.link = TN.I.link
	end
end

TN.US.link = {
	["70N"] = "U.S. Route 70N",
	["70S"] = "U.S. Route 70S",
	default = "U.S. Route %route% in Tennessee"
}

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

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

TN.SR = {
	base = "Tennessee State Route %route%",
	shield = "Tennessee %route%.svg",
	name = "State Route %route%",
	link = "Tennessee State Route %route%",
	abbr = "SR&nbsp;%route%",
	width = "wide"
}

TN.TN = TN.SR

TN.Sec = {
	base = TN.SR.base,
	shield = "Secondary Tennessee %route%.svg",
	name = TN.SR.name,
	link = TN.SR.link,
	abbr = TN.SR.abbr,
	width = "expand"
}
	
TN.Both = {
	shield = {"Tennessee %route%.svg", "Secondary Tennessee %route%.svg"},
	shieldmain = {"Tennessee %route%.svg", "Secondary Tennessee %route%.svg"},
	name = TN.SR.name,
	link = TN.SR.link,
	abbr = TN.SR.abbr,
	width = 45
	
}
         
TN.Dual = TN.Both

for _,type in ipairs({'SR', 'Sec'}) do
	for _,auxType in ipairs({"Alt", "Bus", "Byp", "Conn", "Scenic", "Spur", "Truck"}) do
		local spec = TN[" aux "][auxType]
		TN[type .. "-" .. auxType] = {
			shield = TN[type].shield,
			shieldmain = TN[type].shield,
			name = TN[type].name .. " " .. spec.name,
			link = TN[type].base .. " " .. spec.name .. TN[" dab "],
			abbr = TN[type].abbr .. " " .. spec.abbrsuffix,
			banner = spec.bannerprefix .. " plate.svg",
			aux = spec.aux,
			width = TN[type].width
		}
	end
end

for _,type in ipairs({'SR', 'TN'}) do
	for _,year in ipairs({"1918", "1948", "1966"}) do
		TN[type .. " " .. year] = {
			shield = "",
			base = TN.SR.base,
			name = TN.SR.name,
			link = TN.SR.link,
			abbr = TN.SR.abbr,
			width = "square",
		}
	end
end

TN["SR-Truck"].banner = "MUTCD R14-1.svg"  	
TN["Sec-Alt"].shield = {
		["220"] = "Secondary Tennessee %route%A.svg",
		default = TN.Sec.shield
	}
TN["Sec-Alt"].banner = {
		["220"] = "",
		default = "Alternate plate.svg"
	}
TN["Sec-Scenic"].banner = "Scenic plate Vermont.svg"
TN["Sec-Truck"].banner = "MUTCD R14-1.svg"

TN.GRR.shield = "GreatRiverRoad brown.svg"
TN.GRR.bannersuffix = "brown"

TN["SR 1966"] = {
	base = TN.SR.base,
	shield = "Tennessee %route% (1966).svg",
	name = TN.SR.name,
	link = TN.SR.link,
	abbr = TN.SR.abbr,
	width = "square"
}
TN["TN 1966"] = TN["SR 1966"]

-- add new types above this line if you want it to have the state highway browse and maint
for k, v in pairs(TN) do if k:find ("^%a") then
	v.maint = "[[Tennessee Department of Transportation|TDOT]]"
	end
end

TN.AL = {alias = {module = "USA/AL", type = "SR"}}
TN.AR= {alias = {module = "USA/AR", type = "AR"}}
TN.GA= {alias = {module = "USA/GA", type = "SR"}}
TN.KY= {alias = {module = "USA/KY", type = "KY"}}
TN.MS= {alias = {module = "USA/MS", type = "MS"}}
TN.NC = {alias = {module = "USA/NC", type = "NC"}}
TN.VA= {alias = {module = "USA/VA", type = "SR"}}

--Just for the list

TN.NoPri = {shield = {"Blank5x4.svg", "Secondary Tennessee %route%.svg"},
         link = TN.SR.link,
         abbr = TN.SR.abbr,
         width = 45}   

TN.NoSec = {shield = {"Tennessee %route%.svg", {hook = "split",
	       split = 100,
	       above = "Blank5x4.svg",
	       below = "No image.svg"}},
         link = TN.SR.link,
         abbr = TN.SR.abbr,
         width = 45}

return TN