پرش به محتوا

ماجۊل:ايران ٚ رۊستا جمعيت

Wikipedia جي

توضیحات این پودمان می‌تواند در ماجۊل:ايران ٚ رۊستا جمعيت/توضیحات قرار گیرد.

local population = {}
local args = {}
local data_module_prefix = "ماجۊل:ايران ٚ رۊستا جمعيت/دیتا/"
local converter = require("Module:Numeral converter")

local function ifexist(page)
    if not page then return false end
    if mw.title.new(page).exists then return true end
    return false
end

local function isempty(s)
  return s == nil or s == ''
end

local function loadpopulationdb(frame, s, year)
	local encodestr = converter.convert("en", s)
	year = converter.convert("en", year)
	--finding the corresponding db subpage
	local dbsubpage = math.floor(  tonumber(encodestr) / 10000 )
	local function setarg(k, v)
		if(v and v ~= '') then args[k] = v end
	end
	if( codestr ~= '' ) then
		local dbpage = data_module_prefix..tostring(dbsubpage)
		if (ifexist(dbpage)) then
			local data = mw.loadData(dbpage)
			local dargs = data[encodestr]
			
			if isempty(dargs) then --check if the code exists in db
				setarg('pop', 'خطا:کؤد ننأ'..'[[جرگه:جمعيت ٚ ماجۊل ٚ خطا:رۊستا کؤد ننأ]]')
			else
				if (year =='95') then -- for year 1395 (p95)
					local p95_tmp = dargs['p95']
					if (p95_tmp == '-1') then
						setarg('pop', 'سه خانوار ٚ جه کمتر (۹۵ آمار)')
					else
						local p95 = converter.convert("fa", p95_tmp)
						setarg('pop', p95..' نفر (۹۵ آمار)')
					end
				end
			end
		else 
			setarg('pop', 'خطا:جمعيت ٚ دیتایان ٚ جيرولگان ننأده'..'[[جرگه: جمعيت ٚ ماجۊل ٚ خطا:جمعيت ٚ دیتایان ٚ جيرولگان ننأده]]')	
		end
	end
end

local function printpop(frame)
	return (args['pop'])	
end

function population.main(frame)
	local args = require('Module:Arguments').getArgs(frame)--, {
		--	wrappers = 'Template:Iran population'
	--	})
	return population._main(args)
end

function population._main(args)

	if(args['کؤد'] and args['کؤد'] ~= '') then
		if( args['سال'] and args['سال'] ~= '') then
			loadpopulationdb(frame,args['کؤد'], args['سال'])
		else
			loadpopulationdb(frame,args['کؤد'], '95')
		end
	end
	
	return printpop(frame)
end

return population