Module:Post: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 8: | Line 8: | ||
out = out .. "|-\n" | out = out .. "|-\n" | ||
out = out .. "| " .. v.shorthand .. "\n" | out = out .. "| " .. v.shorthand .. "\n" | ||
out = out .. "| " .. v.name .. "\n" | out = out .. "| [[" .. v.name .. "]]\n" | ||
out = out .. "| " .. v.hq .. "\n" | out = out .. "| " .. v.hq .. "\n" | ||
out = out .. "| " | out = out .. "| " | ||
| Line 36: | Line 36: | ||
end, | end, | ||
all_facilities = function(frame) | all_facilities = function(frame) | ||
local out = '{| class="wikitable sortable"\n|+ Postal Facilities\n|-\n! Country\n! Name\n! Location\n! | local out = '{| class="wikitable sortable"\n|+ Postal Facilities\n|-\n! Country\n! Name\n! Location\n!Services with Delivery\n! Services with Pickup\n! Notes\n' | ||
for _, v in ipairs(data.facilities) do | for _, v in ipairs(data.facilities) do | ||
assert(v.pickup, v.name) | |||
out = out .. "|-\n" | |||
out = out .. "| " .. places.get_style(v.place) .. "\n" | |||
out = out .. "| " .. v.name .. "\n" | |||
out = out .. "| " .. u.def(v.address, "") | |||
out = out .. "〈" .. v.coordinates[1] .. ", " .. v.coordinates[2] .. ", " .. v.coordinates[3] .. "〉\n" | |||
out = out .. "| " | |||
if v.delivery == true then for i, p in ipairs(data.providers) do out = out .. (i == 1 and "" or ", ") .. "[[" .. p.name .. "]]" end | |||
else | |||
for i, provider in ipairs(v.delivery) do | |||
out = out .. (i == 1 and "" or ", ") | |||
local _, p = u.find(data.providers, "shorthand", provider) | |||
if p then out = out .. "[[" .. p.name .. "]]" | |||
else out = out .. tostring(provider) .. " (Unknown)" end | |||
end | |||
end | |||
out = out .. "\n" | |||
out = out .. "| " | |||
if v.pickup == true then for i, p in ipairs(data.providers) do out = out .. (i == 1 and "" or ", ") .. "[[" .. p.name .. "]]" end | |||
else | |||
for i, provider in ipairs(v.pickup) do | |||
out = out .. (i == 1 and "" or ", ") | |||
local _, p = u.find(data.providers, "shorthand", provider) | |||
if p then out = out .. "[[" .. p.name .. "]]" | |||
else out = out .. tostring(provider) .. " (Unknown)" end | |||
end | end | ||
end | |||
out = out .. "\n" | |||
out = out .. "| " .. u.def(v.notes, ""):gsub("{([A-Z][A-Z])}", places.get_style) .. "\n" | |||
end | end | ||
out = out .. "|}\n" | out = out .. "|}\n" | ||
Latest revision as of 19:31, 7 January 2026
Documentation for this module may be created at Module:Post/doc
local u = require"Module:Utils"
local places = require"Module:Places"
local data = mw.loadJsonData"Data:Post"
local post = {
providers_table = function(frame)
local out = '{| class="wikitable sortable"\n|+ Postal Service Providers\n|-\n! Code\n! Name\n! Headquarters\n! Manager(s)\n'
for _, v in ipairs(data.providers) do
out = out .. "|-\n"
out = out .. "| " .. v.shorthand .. "\n"
out = out .. "| [[" .. v.name .. "]]\n"
out = out .. "| " .. v.hq .. "\n"
out = out .. "| "
for i, m in ipairs(v.managers) do
if i ~= 1 then out = out .. ", " end
out = out .. m
end
out = out .. "\n"
end
out = out .. "|}\n"
return out
end,
facilities_without_service = function(frame)
local out = '{| class="wikitable sortable"\n|+ Postal Facilities Without Service\n|-\n! Country\n! Name\n! Location\n! Notes\n'
for _, v in ipairs(data.facilities) do
if type(v.delivery) == "table" and #v.delivery == 0 then
out = out .. "|-\n"
out = out .. "| " .. places.get_style(v.place) .. "\n"
out = out .. "| " .. v.name .. "\n"
out = out .. "| " .. u.def(v.address, "")
out = out .. "〈" .. v.coordinates[1] .. ", " .. v.coordinates[2] .. ", " .. v.coordinates[3] .. "〉\n"
out = out .. "| " .. u.def(v.notes, ""):gsub("{([A-Z][A-Z])}", places.get_style) .. "\n"
end
end
out = out .. "|}\n"
return out
end,
all_facilities = function(frame)
local out = '{| class="wikitable sortable"\n|+ Postal Facilities\n|-\n! Country\n! Name\n! Location\n!Services with Delivery\n! Services with Pickup\n! Notes\n'
for _, v in ipairs(data.facilities) do
assert(v.pickup, v.name)
out = out .. "|-\n"
out = out .. "| " .. places.get_style(v.place) .. "\n"
out = out .. "| " .. v.name .. "\n"
out = out .. "| " .. u.def(v.address, "")
out = out .. "〈" .. v.coordinates[1] .. ", " .. v.coordinates[2] .. ", " .. v.coordinates[3] .. "〉\n"
out = out .. "| "
if v.delivery == true then for i, p in ipairs(data.providers) do out = out .. (i == 1 and "" or ", ") .. "[[" .. p.name .. "]]" end
else
for i, provider in ipairs(v.delivery) do
out = out .. (i == 1 and "" or ", ")
local _, p = u.find(data.providers, "shorthand", provider)
if p then out = out .. "[[" .. p.name .. "]]"
else out = out .. tostring(provider) .. " (Unknown)" end
end
end
out = out .. "\n"
out = out .. "| "
if v.pickup == true then for i, p in ipairs(data.providers) do out = out .. (i == 1 and "" or ", ") .. "[[" .. p.name .. "]]" end
else
for i, provider in ipairs(v.pickup) do
out = out .. (i == 1 and "" or ", ")
local _, p = u.find(data.providers, "shorthand", provider)
if p then out = out .. "[[" .. p.name .. "]]"
else out = out .. tostring(provider) .. " (Unknown)" end
end
end
out = out .. "\n"
out = out .. "| " .. u.def(v.notes, ""):gsub("{([A-Z][A-Z])}", places.get_style) .. "\n"
end
out = out .. "|}\n"
return out
end
}
return post