Модуль:UrbanSetting
Перейти к навигации
Перейти к поиску
Этот модуль вызывается из шаблона Вгородскихусловиях.
local p = {}
function p.GetUrbanSetting(frame)
local Args = frame:getParent().args
if Args[1] == nil then return "Введите викифицированное название населённого пункта городского типа" end
local District = Args['МО'] or frame.args[1]
local UrbanPopulation = 0
local DistrictPopulation = frame:expandTemplate{ title = "Население", args={District, "ч"}}
UrbanSettingStr= 'В городских условиях ('
UrbanSettingStr2 = '{{ formatnum: {{ #expr: ( ( '
for key, val in pairs(Args) do
if key ~= 'МО' then
if key > 1 then
UrbanSettingStr = UrbanSettingStr .. ', '
UrbanSettingStr2 = UrbanSettingStr2 .. ' + '
end
UrbanSettingStr = UrbanSettingStr .. string.gsub(mw.text.trim(val),' *%(.+', '')
UrbanPopulation = UrbanPopulation + frame:expandTemplate{ title = "Население", args={mw.text.trim(val), "ч"}}
end
end
UrbanSettingStr = UrbanSettingStr .. ') проживают ' .. string.gsub(string.format("%.2f", UrbanPopulation * 100 / DistrictPopulation),'%.',',') .. ' % населения '
if string.find (District, 'район') then UrbanSettingStr = UrbanSettingStr .. 'района.'
elseif string.find (District, '[Гг]ородской округ') then UrbanSettingStr = UrbanSettingStr .. 'городского округа.'
elseif string.find (District, '[Мм]униципальный округ') then UrbanSettingStr = UrbanSettingStr .. 'муниципального округа.'
elseif string.find (District, ' округ') then UrbanSettingStr = UrbanSettingStr .. 'округа.'
elseif string.find (District, '[Гг]ородское поселение') then UrbanSettingStr = UrbanSettingStr .. 'городского поселения.'
else UrbanSettingStr = UrbanSettingStr .. 'муниципального образования.'
end
return UrbanSettingStr
end
return p