Modul:Zastava
Izgled
local p = {}
local podatci = mw.loadData('Modul:Zastava/podatci')
function p.main(frame)
local args = frame.args
return p.zastava(args)
end
--
-- main(frame)
--
function p.zastava(args)
local kratica = args["kratica"] or ""
local velicina = (args["veličina"] and args["veličina"]~="" and args["veličina"]) or "24x16px"
local godina = (args["godina"] and args["godina"]~="" and args["godina"]) or "2999"
local okvir = args["okvir"] and args["okvir"]~="" --neprazno: prikaži
local wp = args["wp"] and args["wp"]~="" --prikazati i wikipoveznicu na državu? neprazno:prikaži
local nocat = args["nocat"] and args["nocat"]~="" --ne kategoriziraj, u slučaju greške
godina = tonumber(godina)
local z = p.Zastava(kratica, godina)
local slika = z or "No flag 3 - wc.svg"
local rv = "[[slika:" .. slika
if okvir then
rv = rv .. "|border"
end
rv = rv .. "|" .. velicina:gsub("px","") .. "px"
if not z then
rv = rv .. "|Nepoznata kratica »" .. kratica .. "«"
end
local link = p.Wp(kratica, godina)
rv = rv .. "|link=" .. (string.match(link or "", "%[%[([^|%]]+)") or "Wikipedija:Zastave") --u link= ne ide wikipoveznica
rv = rv .. "]]"
if wp and kratica~="" then
rv = rv .. " " .. (link or "Nepoznata kratica »" .. kratica .. "«. Unesite kôd s [[Modul:Zastava/podatci|'''ove stranice''']]. ")
end
if not z and not nocat and kratica~="" then
rv = "[[Kategorija:Greška u modulu zastave|" .. kratica .. "]]" .. rv
end
return rv
end
--
-- Zastava(kratica, godina): vraća ime slike
--
function p.Zastava(kratica, godina)
local entitet = podatci[kratica]
if entitet then
local povijesne_zastave = entitet.povijesneZastave
if type(godina)=="number" and type(povijesne_zastave)=="table" then
for i, pz in ipairs(povijesne_zastave) do
--mw.log(i,pz.pocetak,pz.kraj,pz.zastava, godina)
if pz.pocetak <= godina and godina <= pz.kraj then
return pz.zastava
end --if
end --for
end --if
return entitet.zastava
end --if
return nil
end
--
-- Wp(kratica, godina): vraća wikipoveznicu na državu; (zasad) ne ovisi o godini
--
function p.Wp(kratica, godina)
local entitet = podatci[kratica]
return (entitet and entitet.wp) or nil
end
return p