پودمان:جمعیت روستای ایران
ظاهر
این پودمان در صورت نیاز دو رده نگهداری به مقالات اضافه میکند:
- رده:خطای پودمان جمعیت: کد روستا ناموجود، در صورتی که کد روستا در دادههای پودمان یافت نشود
- رده:خطای پودمان جمعیت: زیرصفحه دادههای جمعیت ناموجود، در صورتی که کد روستا خطا داشته باشد (مثلا ۶ رقمی نباشد)
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