Modul:Pritoci: razlika između inačica
Izbrisani sadržaj Dodani sadržaj
mNema sažetka uređivanja |
puni naslov za wp |
||
Nisu prikazane 3 međuinačice | |||
Redak 1: | Redak 1: | ||
local utjece = mw.loadData( 'Module:Pritoci/podatci' ) |
|||
-------------------------------------------------------------------------------- |
|||
local p = {} |
local p = {} |
||
-- ⤴ ⤵ |
|||
local prikaz = {} |
|||
function p.main() |
|||
function prikaz.D(x) |
|||
rijeka = mw.getCurrentFrame():getParent().args[1] |
|||
return '<span title="desni pritok">⤴ '..x..' </span>' |
|||
return p.pritoka(rijeka) |
|||
end |
end |
||
function |
function prikaz.L(x) |
||
return '<span title="lijevi pritok">⤵ '..x..' </span>' |
|||
rv = "" |
|||
end |
|||
if rijeka == "" then |
|||
rv = "" |
|||
-- *** A *** |
|||
elseif rijeka == "Acre (rijeka)" then |
|||
rv = desna("Purus") |
|||
elseif rijeka == "Aa (Möhne)" then |
|||
rv = lijeva("Möhne") |
|||
elseif rijeka == "Aa (Werre)" then |
|||
rv = lijeva("Werre") |
|||
elseif rijeka == "Aare" then |
|||
rv = lijeva("Rajna") |
|||
elseif rijeka == "Abukuma (rijeka)" then |
|||
rv = u("Tihi ocean") |
|||
elseif rijeka == "Abuná (rijeka)" then |
|||
rv = lijeva("Madeira (rijeka)") |
|||
elseif rijeka == "Acarigua (rijeka)" then |
|||
rv = pritoka("Portuguesa (rijeka)") |
|||
elseif rijeka == "Adige" then |
|||
rv = u("Jadransko more") |
|||
elseif rijeka == "Agri" then |
|||
rv = u("Jonsko more") |
|||
elseif rijeka == "Aj (rijeka)" then |
|||
rv = lijeva("Ufa (rijeka)") |
|||
elseif rijeka == "Alzette" then |
|||
rv = desna("Sauer") |
|||
elseif rijeka == "Amazona" then |
|||
rv = u("Atlantski ocean") |
|||
elseif rijeka == "Amblève (rijeka)" then |
|||
rv = desna("Ourthe") |
|||
elseif rijeka == "Apure (rijeka)" then |
|||
rv = lijeva("Orinoco") |
|||
elseif rijeka == "Arieș" then |
|||
rv = lijeva("Moriš") |
|||
elseif rijeka == "Arieșul Mic" then |
|||
rv = desna("Arieș") |
|||
elseif rijeka == "Aripuanã (rijeka)" then |
|||
rv = desna(Madeira (rijeka)"") |
|||
elseif rijeka == "Aškadar" then |
|||
rv = lijeva("Belaja (Kama)") |
|||
elseif rijeka == "Ausa (rijeka)" then |
|||
rv = desna("Marecchia") |
|||
-- *** B *** |
|||
elseif rijeka == "Bănești (Crișul Alb)" then |
|||
rv = desna("Crișul Alb") |
|||
elseif rijeka == "Basento" then |
|||
rv = u("Jonsko more") |
|||
elseif rijeka == "Bednja (rijeka)" then |
|||
rv = desna("Drava") |
|||
elseif rijeka == "Belaja (Kama)" then |
|||
rv = pritoka("Nižnjekamsko umjetno jezero") |
|||
elseif rijeka == "Beliu (rijeka)" then |
|||
rv = lijeva("Crișul Negru") |
|||
elseif rijeka == "Beni (rijeka)" then |
|||
rv = lijeva("Madre de Dios (rijeka)") |
|||
elseif rijeka == "Biferno" then |
|||
rv = u("Jadransko more") |
|||
elseif rijeka == "Bijela (Pakra)" then |
|||
rv = desna("Pakra") |
|||
elseif rijeka == "Berava" then |
|||
rv = desna("Bosut") |
|||
elseif rijeka == "Biđ" then |
|||
rv = desna("Bosut") |
|||
elseif rijeka == "Bir (rijeka)" then |
|||
rv = desna("Belaja (Kama)") |
|||
elseif rijeka == "Bistrica (Dobra)" then |
|||
rv = desna("Dobra") |
|||
elseif rijeka == "Borza" then |
|||
rv = desna("Karašica (Dunav)") |
|||
elseif rijeka == "Bosut" then |
|||
rv = lijeva("Sava") |
|||
elseif rijeka == "Brežnica" then |
|||
rv = desna("Spačva") |
|||
elseif rijeka == "Brezna" then |
|||
rv = desna("Lateralni kanal") |
|||
elseif rijeka == "Busento" then |
|||
rv = lijeva("Crati") |
|||
-- *** C *** |
|||
elseif rijeka == "Canumã" then |
|||
rv = desna("Madeira (rijeka)") |
|||
elseif rijeka == "Caorle (laguna)" then |
|||
rv = u("Jadransko more") |
|||
elseif rijeka == "Chefna" then |
|||
rv = desna("Amblève (rijeka)") |
|||
elseif rijeka == "Cetea (Galda)" then |
|||
rv = lijeva("Galda (rijeka)") |
|||
elseif rijeka == "Chisindia (rijeka)" then |
|||
rv = lijeva("Crișul Alb") |
|||
elseif rijeka == "Ciolt" then |
|||
rv = desna("Chisindia (rijeka)") |
|||
elseif rijeka == "Crasna (Tisa)" then |
|||
rv = lijeva("Tisa") |
|||
elseif rijeka == "Craiva (rijeka)" then |
|||
rv = desna("Cricău (rijeka)") |
|||
elseif rijeka == "Crati" then |
|||
rv = u("Jonsko more") |
|||
elseif rijeka == "Cricău (rijeka)" then |
|||
rv = desna("Galda (rijeka)") |
|||
elseif rijeka == "Crișul Alb" then |
|||
rv = desna("Körös") |
|||
elseif rijeka == "Crișul Negru" then |
|||
rv = desna("Crișul Alb") |
|||
elseif rijeka == "Curak" then |
|||
rv = desna("Kupica") |
|||
-- *** Č *** |
|||
elseif rijeka == "Čabranka" then |
|||
rv = desna("Kupa") |
|||
elseif rijeka == "Čermasan" then |
|||
rv = lijeva("Belaja (Kama)") |
|||
elseif rijeka == "Česma (rijeka)" then |
|||
rv = lijeva("Lonja-Trebež") |
|||
elseif rijeka == "Čađavica (rijeka)" then |
|||
rv = lijeva("Karašica (Drava)") |
|||
elseif rijeka == "Črnec" then |
|||
rv = desna("Glogovnica") |
|||
elseif rijeka == "Čulim (Ob)" then |
|||
rv = desna("Ob") |
|||
-- *** Ć *** |
|||
-- *** D *** |
|||
elseif rijeka == "Demer" then |
|||
rv = desna("Dyle") |
|||
elseif rijeka == "Dobra" then |
|||
rv = desna("Kupa") |
|||
elseif rijeka == "Dos Marmelos" then |
|||
rv = desna("Madeira (rijeka)") |
|||
elseif rijeka == "Drava" then |
|||
rv = desna("Dunav") |
|||
elseif rijeka == "Dunav" then |
|||
rv = u("Crno more") |
|||
elseif rijeka == "Dyle" then |
|||
rv = lijeva("Rupel") |
|||
-- *** DŽ *** |
|||
-- *** Đ *** |
|||
-- *** E *** |
|||
elseif rijeka == "Eisack" then |
|||
rv = lijeva("Adige") |
|||
elseif rijeka == "Emscher" then |
|||
rv = desna("Rajna") |
|||
-- *** F *** |
|||
elseif rijeka == "Flumendosa" then |
|||
rv = u("Tirensko more") |
|||
elseif rijeka == "Werra" then |
|||
rv = desna("Weser") |
|||
elseif rijeka == "Werre" then |
|||
rv = lijeva("Weser") |
|||
-- *** G *** |
|||
elseif rijeka == "Galda (rijeka)" then |
|||
rv = desna("Moriš") |
|||
elseif rijeka == "Gander (Moselle)" then |
|||
rv = lijeva("Moselle (rijeka)") |
|||
elseif rijeka == "Garešnica (rijeka)" then |
|||
rv = lijeva("Ilova") |
|||
elseif rijeka == "Gete" then |
|||
rv = lijeva("Demer") |
|||
elseif rijeka == "Glina (rijeka)" then |
|||
rv = desna("Kupa") |
|||
elseif rijeka == "Globornica" then |
|||
rv = desna("Dobra") |
|||
elseif rijeka == "Glogovica (rijeka)" then |
|||
rv = lijeva("Sava") |
|||
elseif rijeka == "Glogovnica" then |
|||
rv = desna("Česma (rijeka)") |
|||
elseif rijeka == "Guaporé" then |
|||
rv = desna("Mamoré (rijeka)") |
|||
-- *** H *** |
|||
elseif rijeka == "Hălmăgel (rijeka)" then |
|||
rv = desna("Bănești (Crișul Alb)") |
|||
elseif rijeka == "Hășmaș (rijeka)" then |
|||
rv = lijeva("Beliu (rijeka)") |
|||
elseif rijeka == "Haine" then |
|||
rv = desna("Schelde") |
|||
elseif rijeka == "Holzbach (Emscher)" then |
|||
rv = desna("Emscher") |
|||
elseif rijeka == "Horea (rijeka)" then |
|||
rv = desna("Crasna (Tisa)") |
|||
elseif rijeka == "Hurez (Ciolt)" then |
|||
rv = lijeva("Ciolt") |
|||
-- *** I *** |
|||
elseif rijeka == "Ilova" then |
|||
rv = lijeva("Lonja-Trebež") |
|||
elseif rijeka == "Ipixuna" then |
|||
rv = desna("Madeira (rijeka)") |
|||
elseif rijeka == "Iskrica" then |
|||
rv = desna("Vučica (rijeka)") |
|||
-- *** J *** |
|||
elseif rijeka == "Jamari" then |
|||
rv = desna("Madeira (rijeka)") |
|||
elseif rijeka == "Ji-Paraná (rijeka)" then |
|||
rv = desna("Madeira (rijeka)") |
|||
-- *** K *** |
|||
elseif rijeka == "Kama (rijeka)" then |
|||
rv = lijeva("Volga") |
|||
elseif rijeka == "Karašica (Drava)" then |
|||
rv = desna("Drava") |
|||
elseif rijeka == "Karašica (Dunav)" then |
|||
rv = desna("Dunav") |
|||
elseif rijeka == "Karlaman (Zigan)" then |
|||
rv = desna("Zigan") |
|||
elseif rijeka == "Karmasan" then |
|||
rv = lijeva("Belaja (Kama)") |
|||
elseif rijeka == "Kopanjek" then |
|||
rv = desna("Drava") |
|||
elseif rijeka == "Körös" then |
|||
rv = lijeva("Tisa") |
|||
elseif rijeka == "Korana" then |
|||
rv = desna("Kupa") |
|||
elseif rijeka == "Krapina (rijeka)" then |
|||
rv = lijeva("Sava") |
|||
elseif rijeka == "Krapinica (rijeka)" then |
|||
rv = desna("Krapina (rijeka)") |
|||
elseif rijeka == "Kravaršćica" then |
|||
rv = lijeva("Kupa") |
|||
elseif rijeka == "Kriva reka" then |
|||
rv = lijeva("Pčinja") |
|||
elseif rijeka == "Kupa" then |
|||
rv = desna("Sava") |
|||
elseif rijeka == "Kupčina" then |
|||
rv = lijeva("Kupa") |
|||
elseif rijeka == "Kupica" then |
|||
rv = desna("Kupa") |
|||
elseif rijeka == "Kutina (rijeka)" then |
|||
rv = lijeva("Sava") |
|||
elseif rijeka == "Kolva (Višera)" then |
|||
rv = desna("Višera (Kama)") |
|||
-- *** L *** |
|||
elseif rijeka == "Lateralni kanal" then |
|||
rv = desna("Sava") |
|||
elseif rijeka == "Lao (rijeka)" then |
|||
rv = u("Tirensko more") |
|||
elseif rijeka == "Lemene" then |
|||
rv = u("Caorle (laguna)") |
|||
elseif rijeka == "Lienne" then |
|||
rv = lijeva("Amblève (rijeka)") |
|||
elseif rijeka == "Livenza" then |
|||
rv = u("Jadransko more") |
|||
elseif rijeka == "Lonja-Trebež" then |
|||
rv = lijeva("Sava") |
|||
elseif rijeka == "Luncșoara (Hălmăgel)" then |
|||
rv = desna("Hălmăgel (rijeka)") |
|||
-- *** LJ *** |
|||
-- *** M *** |
|||
elseif rijeka == "Maalbeek" then |
|||
rv = pritoka("Senne") |
|||
elseif rijeka == "Madeira (rijeka)" then |
|||
rv = desna("Amazona") |
|||
elseif rijeka == "Madre de Dios (rijeka)" then |
|||
rv = lijeva("Madeira (rijeka)") |
|||
elseif rijeka == "Mamoré (rijeka)" then |
|||
rv = desna("Madeira (rijeka)") |
|||
elseif rijeka == "Mamer (rijeka)" then |
|||
rv = lijeva("Alzette") |
|||
elseif rijeka == "Manicoré (rijeka)" then |
|||
rv = desna("Madeira (rijeka)") |
|||
elseif rijeka == "Marecchia" then |
|||
rv = u("Jadransko more") |
|||
elseif rijeka == "Meduna" then |
|||
rv = lijeva("Livenza") |
|||
elseif rijeka == "Meuse (rijeka)" then |
|||
rv = u("Sjeverno more") |
|||
elseif rijeka == "Möhne" then |
|||
rv = lijeva("Ruhr (rijeka)") |
|||
elseif rijeka == "Moselle (rijeka)" then |
|||
rv = lijeva("Rajna") |
|||
-- *** N *** |
|||
elseif rijeka == "Nadăș (Someșul Mic)" then |
|||
rv = lijeva("Someșul Mic") |
|||
elseif rijeka == "Nete (rijeka)" then |
|||
rv = desna("Rupel") |
|||
elseif rijeka == "Nižnjekamsko umjetno jezero" then |
|||
rv = pritoka("Kama (rijeka)") |
|||
elseif rijeka == "Neretva" then |
|||
rv = u("Jadransko more") |
|||
elseif rijeka == "Noncello" then |
|||
rv = desna("Meduna") |
|||
-- *** NJ *** |
|||
-- *** O *** |
|||
elseif rijeka == "Orinoco" then |
|||
rv = u("Atlantski ocean") |
|||
elseif rijeka == "Ourthe" then |
|||
rv = desna("Meuse (rijeka)") |
|||
-- *** P *** |
|||
elseif rijeka == "Pakra" then |
|||
rv = lijeva("Lonja-Trebež") |
|||
elseif rijeka == "Pčinja" then |
|||
rv = lijeva("Vardar") |
|||
elseif rijeka == "Pleșcuța (rijeka)" then |
|||
rv = desna("Arieșul Mic") |
|||
elseif rijeka == "Popești (rijeka)" then |
|||
rv = lijeva("Nadăș (Someșul Mic)") |
|||
elseif rijeka == "Portuguesa (rijeka)" then |
|||
rv = lijeva("Apure (rijeka)") |
|||
elseif rijeka == "Purus" then |
|||
rv = desna("Amazona") |
|||
-- *** Q *** |
|||
-- *** R *** |
|||
elseif rijeka == "Rajna" then |
|||
rv = u("Sjeverno more") |
|||
elseif rijeka == "Rhonelle" then |
|||
rv = desna("Schelde") |
|||
elseif rijeka == "Río Grande (Bolivija)" then |
|||
rv = desna("Mamoré (rijeka)") |
|||
elseif rijeka == "Rooigembeek" then |
|||
rv = lijeva("Wallebeek") |
|||
elseif rijeka == "Rupel" then |
|||
rv = desna("Schelde") |
|||
elseif rijeka == "Ruhr (rijeka)" then |
|||
rv = desna("Rajna") |
|||
function prikaz.U(x) --rijeka se ulijeva u more ili jezero |
|||
-- *** S *** |
|||
return '<span title="ulijeva se u">→ '..x..' </span>' |
|||
elseif rijeka == "Salm (Amblève)" then |
|||
end |
|||
rv = lijeva("Amblève (rijeka)") |
|||
elseif rijeka == "Sambre" then |
|||
function prikaz.O(x) --jezero otječe u rijeku |
|||
rv = lijeva("Meuse (rijeka)") |
|||
return '<span title="otječe u">↦ '..x..' </span>' |
|||
elseif rijeka == "San Marino (rijeka)" then |
|||
end |
|||
rv = desna("Marecchia") |
|||
elseif rijeka == "Sauer" then |
|||
function prikaz.poveznica(voda) |
|||
rv = lijeva("Moselle (rijeka)") |
|||
local tekst, nsub = voda:gsub(' %b()', '') |
|||
elseif rijeka == "Sava" then |
|||
if nsub>0 then |
|||
rv = desna("Dunav") |
|||
return '[['.. voda .. '|' .. tekst .. ']]' |
|||
elseif rijeka == "Schelde" then |
|||
else |
|||
rv = u("Sjeverno more") |
|||
return '[[' .. voda .. ']]' |
|||
elseif rijeka == "Sele" then |
|||
end |
|||
rv = u("Tirensko more") |
|||
end |
|||
elseif rijeka == "Seleuș (rijeka)" then |
|||
rv = lijeva("Târnava Mică") |
|||
function p.tok(x) --tok voda rijeke x |
|||
elseif rijeka == "Senne" then |
|||
local za_ispis = {} |
|||
while utjece[x] do |
|||
elseif rijeka == "Sinni" then |
|||
local smjer, voda = utjece[x][1], utjece[x][2] |
|||
rv = u("Jonsko more") |
|||
local prikaz_smjera = prikaz[ smjer ] |
|||
elseif rijeka == "Sjun" then |
|||
if type(voda)=='string' and type(prikaz_smjera)=='function' then |
|||
rv = lijeva("Belaja (Kama)") |
|||
table.insert(za_ispis, prikaz_smjera( prikaz.poveznica(voda) )) |
|||
elseif rijeka == "Samoš" then |
|||
x = voda |
|||
else |
|||
elseif rijeka == "Someșul Mare" then |
|||
break --ili return "[[Kategorija:...]]" |
|||
rv = desna("Samoš") |
|||
end |
|||
elseif rijeka == "Someșul Mic" then |
|||
rv = lijeva("Samoš") |
|||
elseif rijeka == "Spačva" then |
|||
rv = desna("Bosut") |
|||
-- *** Š *** |
|||
-- *** T *** |
|||
elseif rijeka == "Tanyp" then |
|||
rv = desna("Belaja (Kama)") |
|||
elseif rijeka == "Târnava (rijeka)" then |
|||
rv = lijeva("Moriš") |
|||
elseif rijeka == "Târnava Mică" then |
|||
rv = desna("Târnava (rijeka)") |
|||
elseif rijeka == "Târnava Mare" then |
|||
rv = lijeva("Târnava (rijeka)") |
|||
elseif rijeka == "Tiber" then |
|||
rv = u("Tirensko more") |
|||
elseif rijeka == "Tisa" then |
|||
rv = lijeva("Dunav") |
|||
-- *** U *** |
|||
elseif rijeka == "Ufa (rijeka)" then |
|||
rv = desna("Belaja (Kama)") |
|||
elseif rijeka == "Uršak" then |
|||
rv = lijeva("Belaja (Kama)") |
|||
-- *** V *** |
|||
elseif rijeka == "Vardar" then |
|||
rv = u("Egejsko more") |
|||
elseif rijeka == "Višera (Kama)" then |
|||
rv = desna("Kama (rijeka)") |
|||
elseif rijeka == "Vjatka" then |
|||
rv = desna("Kama (rijeka)") |
|||
elseif rijeka == "Vojlovica (rijeka)" then |
|||
rv = desna("Karašica (Drava)") |
|||
elseif rijeka == "Volga" then |
|||
rv = pritoka("Kaspijsko jezero") |
|||
elseif rijeka == "Vučica (rijeka)" then |
|||
rv = desna("Karašica (Drava)") |
|||
-- *** W *** |
|||
elseif rijeka == "Wallebeek" then |
|||
rv = lijeva("Schelde") |
|||
elseif rijeka == "Werra" then |
|||
rv = lijeva("Weser") |
|||
elseif rijeka == "Weser" then |
|||
rv = u("Sjeverno more") |
|||
elseif rijeka == "Woluwe" then |
|||
rv = desna("Senne") |
|||
-- *** X *** |
|||
-- *** Y *** |
|||
-- *** Z *** |
|||
elseif rijeka == "Zerind (rijeka)" then |
|||
rv = lijeva("Crișul Negru") |
|||
elseif rijeka == "Zilim" then |
|||
rv = desna("Belaja (Kama)") |
|||
elseif rijeka == "Zigan" then |
|||
rv = desna("Belaja (Kama)") |
|||
-- *** Ž *** |
|||
end |
end |
||
return table.concat(za_ispis) |
|||
return rv |
|||
end |
end |
||
function |
local function comp(a,b) --za table.sort |
||
local repl = {["Č"]="C~", ["Ć"]="C~~", ["Đ"]="D~", ["Š"]="S~", ["Ž"]="Z~", |
|||
return "<span title='lijeva pritoka'>⤵</span> " .. link(rijeka) .. " " .. p.pritoka(rijeka) |
|||
["č"]="c~", ["ć"]="c~~", ["đ"]="d~", ["š"]="s~", ["ž"]="z~", |
|||
} |
|||
return mw.ustring.gsub(a, "[ČĆĐŠŽčćđšž]", repl) < mw.ustring.gsub(b, "[ČĆĐŠŽčćđšž]", repl) |
|||
end |
end |
||
function p.pritoci(x) --svi pritoci dane rijeke pronađeni u 'bazi' Modul:Pritoci/podatci |
|||
function desna(rijeka) |
|||
local nadjeni_pritoci = {} |
|||
return "<span title='desna pritoka'>⤴</span> " .. link(rijeka) .. " " .. p.pritoka(rijeka) |
|||
for k, v in pairs(utjece) do |
|||
if v[2] == x then |
|||
table.insert( nadjeni_pritoci, prikaz.poveznica(k) ) |
|||
end |
|||
end |
|||
table.sort(nadjeni_pritoci, comp) |
|||
return table.concat(nadjeni_pritoci, " · ") |
|||
end |
end |
||
function |
function p.Tok(frame) --za pozivanje iz predložaka |
||
voda = frame.args[1] or frame:getParent().args[1] or "" |
|||
return "→ " .. link(rijeka) .. " " .. p.pritoka(rijeka) |
|||
return p.tok(voda) |
|||
end |
end |
||
function p.Pritoci(frame) --za pozivanje iz predložaka |
|||
function link(rijeka) |
|||
voda = frame.args[1] or frame:getParent().args[1] or "" |
|||
text = rijeka:gsub('%b()', '') |
|||
return |
return p.pritoci(voda) |
||
end |
end |
||
--str = str:gsub('%b()', '') |
|||
function p.svi_podatci() --pomoćna funkcija, ispisuje sve rijeke/vode iz 'baze' Modul:Pritoci/podatci |
|||
function u(more) |
|||
local abecedno = {} |
|||
return "→ [[".. more .."]]" |
|||
for k, _ in pairs(utjece) do |
|||
--slijedi računski skupa operacija, zaustavlja se nakon 500 pretraga pa ju je bolje ne koristiti |
|||
--if not mw.title.new(k).exists then mw.log( "[["..k.."]]" ) end |
|||
--zato: |
|||
table.insert(abecedno, "[[" .. k .. "]]") |
|||
end |
|||
table.sort(abecedno, comp) |
|||
return table.concat(abecedno, " · ") |
|||
end |
end |
||
return p |
return p |
Posljednja izmjena od 19. ožujka 2024. u 14:25
local utjece = mw.loadData( 'Module:Pritoci/podatci' )
--------------------------------------------------------------------------------
local p = {}
local prikaz = {}
function prikaz.D(x)
return '<span title="desni pritok">⤴ '..x..' </span>'
end
function prikaz.L(x)
return '<span title="lijevi pritok">⤵ '..x..' </span>'
end
function prikaz.U(x) --rijeka se ulijeva u more ili jezero
return '<span title="ulijeva se u">→ '..x..' </span>'
end
function prikaz.O(x) --jezero otječe u rijeku
return '<span title="otječe u">↦ '..x..' </span>'
end
function prikaz.poveznica(voda)
local tekst, nsub = voda:gsub(' %b()', '')
if nsub>0 then
return '[['.. voda .. '|' .. tekst .. ']]'
else
return '[[' .. voda .. ']]'
end
end
function p.tok(x) --tok voda rijeke x
local za_ispis = {}
while utjece[x] do
local smjer, voda = utjece[x][1], utjece[x][2]
local prikaz_smjera = prikaz[ smjer ]
if type(voda)=='string' and type(prikaz_smjera)=='function' then
table.insert(za_ispis, prikaz_smjera( prikaz.poveznica(voda) ))
x = voda
else
break --ili return "[[Kategorija:...]]"
end
end
return table.concat(za_ispis)
end
local function comp(a,b) --za table.sort
local repl = {["Č"]="C~", ["Ć"]="C~~", ["Đ"]="D~", ["Š"]="S~", ["Ž"]="Z~",
["č"]="c~", ["ć"]="c~~", ["đ"]="d~", ["š"]="s~", ["ž"]="z~",
}
return mw.ustring.gsub(a, "[ČĆĐŠŽčćđšž]", repl) < mw.ustring.gsub(b, "[ČĆĐŠŽčćđšž]", repl)
end
function p.pritoci(x) --svi pritoci dane rijeke pronađeni u 'bazi' Modul:Pritoci/podatci
local nadjeni_pritoci = {}
for k, v in pairs(utjece) do
if v[2] == x then
table.insert( nadjeni_pritoci, prikaz.poveznica(k) )
end
end
table.sort(nadjeni_pritoci, comp)
return table.concat(nadjeni_pritoci, " · ")
end
function p.Tok(frame) --za pozivanje iz predložaka
voda = frame.args[1] or frame:getParent().args[1] or ""
return p.tok(voda)
end
function p.Pritoci(frame) --za pozivanje iz predložaka
voda = frame.args[1] or frame:getParent().args[1] or ""
return p.pritoci(voda)
end
function p.svi_podatci() --pomoćna funkcija, ispisuje sve rijeke/vode iz 'baze' Modul:Pritoci/podatci
local abecedno = {}
for k, _ in pairs(utjece) do
--slijedi računski skupa operacija, zaustavlja se nakon 500 pretraga pa ju je bolje ne koristiti
--if not mw.title.new(k).exists then mw.log( "[["..k.."]]" ) end
--zato:
table.insert(abecedno, "[[" .. k .. "]]")
end
table.sort(abecedno, comp)
return table.concat(abecedno, " · ")
end
return p