Module:Jct/city: Difference between revisions
Jump to navigation
Jump to search
(rm space as there already is one) |
m (1 revision imported) |
(No difference)
|
Latest revision as of 11:46, 7 September 2021
Documentation for this module may be created at Module:Jct/city/doc
local p = {} local concat = table.concat local insert = table.insert local state local function stateName(args) local AUSabbrs = {NT = "Northern Territory", WA = "Western Australia"} local data = mw.loadData("Module:Jct/statename") local abbr = args.state or args.province local country = args.country if country == 'AUS' then return AUSabbrs[abbr] or data[abbr] else return data[abbr] end end local function location(args, num) local city = args["city" .. num] local location = args["location" .. num] local areadab = args["areadab" .. num] local countydab = args["countydab" .. num] if not(city or location) then return '' end local parts if num == 1 then parts = {"– "} else parts = {", "} end if location then insert(parts, location) return concat(parts) end insert(parts, "[[" .. city) if areadab then insert(parts, " (" .. areadab .. ")") end if countydab then insert(parts, ", " .. countydab .. " County") end if state then insert(parts, ", " .. state) end insert(parts, "|" .. city .. "]]") return concat(parts) end function p.city(args) state = stateName(args) local cities = {} local locationCount = 1 repeat local location = location(args, locationCount) insert(cities, location) local empty = (location == '') locationCount = locationCount + 1 until empty return concat(cities) end return p