Modul:Pritoci: razlika između inačica

Izvor: Wikipedija
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 p.pritoka(rijeka)
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
rv = lijeva("Dyle")
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
rv = lijeva("Tisa")
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 lijeva(rijeka)
local function comp(a,b) --za table.sort
local repl = {["Č"]="C~", ["Ć"]="C~~", ["Đ"]="D~", ["Š"]="S~", ["Ž"]="Z~",
return "<span title='lijeva pritoka'>&#10549;</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'>&#10548;</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 pritoka(rijeka)
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 '[['.. rijeka .. '|' .. text .. ']]'
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

Dokumentacija modula[vidi] [uredi] [povijest] [osvježi]
{{#invoke:pritoci|Tok|Biđ}}
Bosut Sava Dunav Crno more
{{#invoke:pritoci|Pritoci|Sava}}
Bosut · Glogovica · Krapina · Kupa · Kutina · Lateralni kanal · Lonja-Trebež


{{#invoke:pritoci|Tok|Belaja (Kama)}}
Nižnjekamsko umjetno jezero Kama Volga Kaspijsko jezero
{{#invoke:pritoci|Pritoci|Belaja (Kama)}}
Aškadar · Bir · Čermasan · Karmasan · Sjun · Tanyp · Ufa · Uršak · Zigan · Zilim


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