Module:Jct/city/sandbox
Appearance
< Module:Jct | city
![]() | This is the module sandbox page for Module:Jct/city (diff). |
local p = {}
local concat = table.concat
local insert = table.insert
local format = mw.ustring.format
-- ON DEPLOY: Change to main module
local statenameModuleName = "Module:Jct/statename/sandbox"
local roadDataModule = require("Module:Road data")
local state
local function stateName(args)
local data = mw.loadData(statenameModuleName)
local abbr = args.state or args.province
local countryData = data[args.country]
return countryData and countryData[abbr] or nil
end
local function location(args, num)
return roadDataModule.locations({
region = state,
sub1name = "County",
sub2_special = args["location" .. num],
sub2 = args["city" .. num],
area = args["areadab" .. num],
sub1dab = args["countydab" .. num]
}).sub2
end
function p.city(args)
state = stateName(args)
local cities = {}
local locationCount = 1
while args['city' .. locationCount] or args['location' .. locationCount] do
insert(cities, location(args, locationCount))
locationCount = locationCount + 1
end
return concat(cities, ', ')
end
return p