Modul:Popis stanovništva: razlika između inačica

Izvor: Wikipedija
Izbrisani sadržaj Dodani sadržaj
m ispravak
m + popis naselja za općine, potrebno za kontrolu botom unesenih podataka
Redak 52: Redak 52:
--ret=ret.. '|-\n|Ukupno||1||2||3\n|}\n'
--ret=ret.. '|-\n|Ukupno||1||2||3\n|}\n'
ret=ret .. '|-\n! scope="row" style="width:20%;"| Ukupno [[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]] ||style="width:20%;"| '.. opcina.popis2001 ..' ||style="width:20%;"| '.. opcina.popis2011 .. ' ||style="width:20%;"| '.. opcina.popis2021 .. '\n'
ret=ret .. '|-\n! scope="row" style="width:20%;"| Ukupno [[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]] ||style="width:20%;"| '.. opcina.popis2001 ..' ||style="width:20%;"| '.. opcina.popis2011 .. ' ||style="width:20%;"| '.. opcina.popis2021 .. '\n'
.. '\n|}'
-- .. '\n|}'
return ret
end

function printOpcinaSaNaseljimaInfobox(zupanija, kratica, opcina)
local uvlaka = ''
local kopija = sorter(opcina.naselja)
ret = '|-\n|colspan="2"|\n'
.. '{| style="width: 100%;"\n|-\n'
.. '| colspan="5" style="text-align: center;" | <b>Broj stanovnika</b><br />'
.. opcina.ime .. ', ' .. zupanija .. ' &lsqb;[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina.ime .. '|uredi]]&rsqb;\n'
.. '|-\n! colspan="2" style="padding-left: 15px; width:20%;"| Naselje ||style="width:20%;"| 2001. ||style="width:20%;"| 2011. ||style="width:20%;"| 2021.\n'
.. '|-\n{| class="mw-collapsible mw-collapsed" style="width:100%"\n'
.. '|+ class="nowrap" style="font-size: 80%;"| Popis naselja\n'
for _, v in ipairs(kopija) do
ret = ret .. '|-\n| style="width:20%;"|' .. uvlaka .. v.ime ..' ||style="width:20%;"| '.. v.popis2001 ..' ||style="width:20%;"| '.. v.popis2011 .. ' ||style="width:20%;"| '.. v.popis2021 .. '\n'
end
--ret=ret.. '|-\n|Ukupno||1||2||3\n|}\n'
ret=ret..'|}\n|-\n'
.. '| colspan="2"|\n{| style="width: 100%;"\n'
.. '|-\n| colspan="4" | <hr>\n'
.. '|-\n|style="width:20%;"| Ukupno &lsqb;[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]&rsqb; ||style="width:20%;"| '.. opcina.popis2001 ..' ||style="width:20%;"| '.. opcina.popis2011 .. ' ||style="width:20%;"| '.. opcina.popis2021 .. '\n'
.. '|-\n| colspan="4" | <hr>'
.. '\n|}'
.. '\n|}'
-- .. '\n|}'
-- .. '\n|}'
Redak 89: Redak 120:
ret = ret .. printOpcinaSaNaseljima(sve.ime, sve.kratica, v)
ret = ret .. printOpcinaSaNaseljima(sve.ime, sve.kratica, v)
else
else
ret = ret .. printOpcinaBezNaselja(sve.ime, sve.kratica, v)
ret = ret .. printOpcinaSaNaseljimaInfobox(sve.ime, sve.kratica, v)
brojac = brojac+1
brojac = brojac+1
end
end

Inačica od 23. studenoga 2021. u 18:34

Dokumentacija modula[vidi] [uredi] [povijest] [osvježi]
Popis podstranica po županijama
Bjelovarsko-bilogorska (BBŽ)
Brodsko-posavska (BPŽ)
Dubrovačko-neretvanska (DNŽ)
Istarska (ISŽ)
Karlovačka (KAŽ)
Koprivničko-križevačka (KKŽ)
Krapinsko-zagorska (KZŽ)
Međimurska (MEŽ)
Osječko-baranjska (OBŽ)
Primorsko-goranska (PGŽ)
Splitsko-dalmatinska (SDŽ)
Vukovarsko-srijemska (VSŽ)
Varaždinska (VŽŽ)
Zadarska (ZDŽ)
Zagrebačka (ZGŽ)


Kategorije koje dodaje ovaj modul popisane su na:


local p = {}
	
godinePopisa = {'2001.', '2011.', '2021.'}

local entityID = mw.wikibase.getEntityIdForCurrentPage()

function sorter(tablica)
	local kopija = {}
	for _, v in pairs(tablica) do
		kopija[#kopija+1] = v
	end
	
	table.sort(kopija, compare)
	return kopija
end

function compare(a,b)
--	mw.logObject(a.ime)
	return a.ime < b.ime
end


function printOpcinaBezNaselja(zupanija, kratica, opcina)
	ret = '|-\n| colspan="2"|\n'
		.. '{| style="width: 100%;"\n|-\n| colspan="4" | <hr>\n'
		.. '|-\n| colspan="4" style="text-align: center;" | <b>Broj stanovnika</b><br />'
		.. 'Općina ' .. opcina.ime .. ', ' .. zupanija .. '&lsqb;[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]&rsqb;\n'
		.. '|-\n! 2001. || 2011. || 2021.\n'
		.. '|-\n| '.. opcina.popis2001 ..' ||| '.. opcina.popis2011 .. ' || '.. opcina.popis2021 .. '\n'
		.. '|-\n| colspan="4" | <hr>'
		.. '\n|}\n'
		
	return ret
end


function printOpcinaSaNaseljima(zupanija, kratica, opcina)
	local uvlaka = ''
	local kopija = sorter(opcina.naselja)
	
	ret = '{| class="wikitable sortable" style="text-align:center;" \n|-\n'
		.. '|+ colspan="4" style="text-align: center;" | <b>Broj stanovnika</b><br />'
		.. 'Općina ' .. opcina.ime .. ', ' .. zupanija .. ' &lsqb;[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina.ime .. '|uredi]]&rsqb;\n'
		.. '|-\n! style="width:20%;"| Naselje ||style="width:20%;"| 2001. ||style="width:20%;"| 2011. ||style="width:20%;"| 2021.\n'
		
		
	for _, v in ipairs(kopija) do
		ret = ret .. '|-\n| style="width:20%;"|' .. uvlaka .. v.ime ..' ||style="width:20%;"| '.. v.popis2001 ..' ||style="width:20%;"| '.. v.popis2011 .. ' ||style="width:20%;"| '.. v.popis2021 .. '\n'
		end
	
	
	--ret=ret.. '|-\n|Ukupno||1||2||3\n|}\n'
	ret=ret .. '|-\n! scope="row" style="width:20%;"| Ukupno &lsqb;[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]&rsqb; ||style="width:20%;"| '.. opcina.popis2001 ..' ||style="width:20%;"| '.. opcina.popis2011 .. ' ||style="width:20%;"| '.. opcina.popis2021 .. '\n'
	.. '\n|}'
--	.. '\n|}'
	
	return ret
end

function printOpcinaSaNaseljimaInfobox(zupanija, kratica, opcina)
	local uvlaka = ''
	local kopija = sorter(opcina.naselja)
	
	
	ret = '|-\n|colspan="2"|\n'
		.. '{| style="width: 100%;"\n|-\n'
		.. '| colspan="5" style="text-align: center;" | <b>Broj stanovnika</b><br />'
		.. opcina.ime .. ', ' .. zupanija .. ' &lsqb;[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina.ime .. '|uredi]]&rsqb;\n'
		.. '|-\n! colspan="2" style="padding-left: 15px; width:20%;"| Naselje ||style="width:20%;"| 2001. ||style="width:20%;"| 2011. ||style="width:20%;"| 2021.\n'
		.. '|-\n{| class="mw-collapsible mw-collapsed" style="width:100%"\n'
		.. '|+ class="nowrap" style="font-size: 80%;"| Popis naselja\n'
		
		
	for _, v in ipairs(kopija) do
		ret = ret .. '|-\n| style="width:20%;"|' .. uvlaka .. v.ime ..' ||style="width:20%;"| '.. v.popis2001 ..' ||style="width:20%;"| '.. v.popis2011 .. ' ||style="width:20%;"| '.. v.popis2021 .. '\n'
		end
	
	
	--ret=ret.. '|-\n|Ukupno||1||2||3\n|}\n'
	ret=ret..'|}\n|-\n'
	.. '| colspan="2"|\n{| style="width: 100%;"\n'
	.. '|-\n| colspan="4" | <hr>\n'
	.. '|-\n|style="width:20%;"| Ukupno &lsqb;[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]&rsqb; ||style="width:20%;"| '.. opcina.popis2001 ..' ||style="width:20%;"| '.. opcina.popis2011 .. ' ||style="width:20%;"| '.. opcina.popis2021 .. '\n'
	.. '|-\n| colspan="4" | <hr>'
	.. '\n|}'
--	.. '\n|}'
	
	return ret
end

function printNaselje(zupanija, kratica, opcina, naselje)
	local uvlaka = 'style="padding-left: 20px;" | '
	
	ret = '|-\n| colspan="2" style="text-align: center;" | <b>Broj stanovnika</b><br />'
		.. naselje.ime .. ' (' .. opcina .. ', ' .. zupanija .. ')' 
		.. ' &lsqb;[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina .. '|uredi]]&rsqb;\n'
	.. '|-\n|'.. uvlaka .. '<b>2001.</b> || ' .. naselje.popis2001 .. '\n'
	.. '|-\n|'.. uvlaka .. '<b>2011.</b> || ' .. naselje.popis2011 .. '\n'
	.. '|-\n|'.. uvlaka .. '<b>2021.</b> || ' .. naselje.popis2021 .. '\n'
	.. '|-\n| colspan="2" | <hr>\n'
	
	return ret
end


function p.main(frame)
	local ret = ''
	local brojac = 0
	ulaz = require("Modul:Popis stanovništva/ulaz")
	
	-- mw.logObject(bbz)
	
	for _, sve in pairs(ulaz) do
		for mk, mv in pairs(sve) do -- opcina, grad, ime, kratica
			if type(mv) == 'table' then -- table opcina ili grad
				for k, v in pairs(mv) do -- qbroj, detalji
					if k == entityID or v.ime == mw.title.getCurrentTitle().fullText then -- opcina ili grad
						mw.log('opcina/grad found: '.. k..', ime ' ..v.ime )
							if frame.args[1]=='tablica' then
								ret = ret .. printOpcinaSaNaseljima(sve.ime, sve.kratica, v)
							else
								ret = ret .. printOpcinaSaNaseljimaInfobox(sve.ime, sve.kratica, v)
								brojac = brojac+1
							end
						
					else
						for tk, tv in pairs(v.naselja) do -- qbroj, detalji naselja
							if tk == entityID or tv.ime == mw.title.getCurrentTitle().fullText then
								mw.log ('naselje found: ' .. tv.ime..', opcina ' ..v.ime)
								ret = ret .. printNaselje(sve.ime, sve.kratica, v.ime, tv)
								brojac = brojac+1
							end
						end
					end	
				end
			end
		end
	end

	if brojac > 1 then
		ret = ret .. '\n[[KT:Popis stanovništva s višestrukim unosima]]'
	end
	
	return ret
	
end

return p