Modul:Popis stanovništva: razlika između inačica
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 .. ' [[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina.ime .. '|uredi]]]\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 [[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]] ||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 .. |
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
Kategorije koje dodaje ovaj modul popisane su na:
- Popis stanovništva s višestrukim unosima (prazna)Popis stanovništva: velike promjene (prazna)
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 .. '[[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]]\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 .. ' [[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina.ime .. '|uredi]]]\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 [[[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 .. ' [[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina.ime .. '|uredi]]]\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 [[[Modul:Popis stanovništva/'.. kratica .. '|uredi]]] ||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 .. ')'
.. ' [[[Modul:Popis stanovništva/'.. kratica ..'/'.. opcina .. '|uredi]]]\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