Modul:TipskiČlanciPoTemama

Izvor: Wikipedija


local p = {}

local list = require("Module:List")
local trenutnaGodina = os.date("%Y")

function p.TipskiClanciPoTemama()
local i = 0
local teme = {}
i = i+1;
teme[i] = { naziv = "Arhitektura", pocetak = 1001, kraj = trenutnaGodina+1, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Astronautika", pocetak = 1941, kraj = trenutnaGodina+20, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Astronomija", pocetak = -1000, kraj = trenutnaGodina+1000, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Biologija", pocetak = 1662, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Film", pocetak = 1874, kraj = trenutnaGodina+1, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Fotografija", pocetak = 1839, kraj = trenutnaGodina, tipskiClanci = {}}

local tipskiClanciGlazba = {}
tipskiClanciGlazba[1] = {clanak = "Glazba", pocetak = 1200, kraj = 1955}
tipskiClanciGlazba[2] = {clanak = "Glazba/1956", pocetak = 1956, kraj = trenutnaGodina}
i = i+1;
teme[i] = { naziv = "Glazba", tipskiClanci = tipskiClanciGlazba }

i = i+1;
teme[i] = { naziv = "Kazalište", pocetak = 1501, kraj = trenutnaGodina, tipskiClanci = {}}

local tipskiClanciKemija = {}
tipskiClanciKemija[1] = {clanak = "Kemija", pocetak = 1651, kraj = 1900}
tipskiClanciKemija[2] = {clanak = "Kemija/1901", pocetak = 1901, kraj = trenutnaGodina}
i = i+1;
teme[i] = { naziv = "Kemija", tipskiClanci = tipskiClanciKemija }

i = i+1;
teme[i] = { naziv = "Kiparstvo", pocetak = 1501, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Knjige", pocetak = 941, kraj = trenutnaGodina, tipskiClanci = {}}

local tipskiClanciKnjizevnost = {}
tipskiClanciKnjizevnost[1] = {clanak = "Književnost", pocetak = 1, kraj = 1900}
tipskiClanciKnjizevnost[2] = {clanak = "Književnost/1901", pocetak = 1901, kraj = trenutnaGodina}
i = i+1;
teme[i] = { naziv = "Književnost", tipskiClanci = tipskiClanciKnjizevnost }

i = i+1;
teme[i] = { naziv = "Kršćanstvo", pocetak = -1, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Meteorologija", pocetak = 1801, kraj = trenutnaGodina, tipskiClanci = {}}

local tipskiClanciMedicina = {}
tipskiClanciMedicina[1] = {clanak = "Medicina", pocetak = 1046, kraj = 1900}
tipskiClanciMedicina[2] = {clanak = "Medicina/1901", pocetak = 1901, kraj = trenutnaGodina}
i = i+1;
teme[i] = { naziv = "Medicina", tipskiClanci = tipskiClanciMedicina }

i = i+1;
teme[i] = { naziv = "Planinarstvo", pocetak = 1857, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Politika", pocetak = 1501, kraj = trenutnaGodina+5, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Pravo", pocetak = 401, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Promet", pocetak = 401, kraj = trenutnaGodina+5, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Slikarstvo", pocetak = 1301, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Strip", pocetak = 1890, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Šport", pocetak = 1776, kraj = trenutnaGodina+5, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Televizija", pocetak = 1900, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Znanost", pocetak = 1001, kraj = trenutnaGodina, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Zrakoplovstvo", pocetak = 1887, kraj = trenutnaGodina+1, tipskiClanci = {}}

i = i+1;
teme[i] = { naziv = "Željeznički promet", pocetak = 1825, kraj = trenutnaGodina+5, tipskiClanci = {}}

return teme
end

function p.TipskiClanak(tema, godina)
local teme = p.TipskiClanciPoTemama()
local tipskiClanak = nill
for i, v in ipairs(teme) do
	if v.naziv == tema then
		if #v.tipskiClanci > 0 then
			for i1, v1 in ipairs(v.tipskiClanci) do
				local godinaKraj = v1.kraj or trenutnaGodina
				if v1.pocetak <= tonumber(godina) and tonumber(godina) <= tonumber(godinaKraj) then
					return v1.clanak
				end
			end
		else
			local godinaKraj = v.kraj or trenutnaGodina
			if v.pocetak <= tonumber(godina) and tonumber(godina) <= tonumber(godinaKraj) then
				return v.naziv	
			end
		end
	end
end

return tipskiClanak
end

return p