Modul':UrbanSetting

Рувики-späi

Этот модуль вызывается из шаблона Вгородскихусловиях.


local p = {}

local ModuleStatistical = require( 'Module:Statistical' )

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 = ModuleStatistical.GetStat({District, 'ч'})	
	UrbanSettingStr= 'Lidnalaižiš oloiš ('
	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 + ModuleStatistical.GetStat({mw.text.trim(val), 'ч'})	
		end
	end
	UrbanSettingStr = UrbanSettingStr .. ') eläb ' .. string.gsub(string.format("%.2f", UrbanPopulation * 100 / DistrictPopulation),'%.',',') .. ' % населения '
	if string.find (District, 'район') then UrbanSettingStr = UrbanSettingStr .. 'rajonad.'
		elseif string.find (District, '[Ll]idnalaine ümbruz') then UrbanSettingStr = UrbanSettingStr .. 'lidnalašt ümbrust.'
		elseif string.find (District, '[Mm]unicipaline ümbruz') then UrbanSettingStr = UrbanSettingStr .. 'municipališt ümbrust.'
		elseif string.find (District, ' округ') then UrbanSettingStr = UrbanSettingStr .. 'ümbrust.'
		elseif string.find (District, '[Гг]ородское поселение') then UrbanSettingStr = UrbanSettingStr .. 'lidnalašt küläkundad.'
		else UrbanSettingStr = UrbanSettingStr .. 'municipališt eländtahod.'
	end

    return UrbanSettingStr
end
return p