Modulo:Sandbox/ppong: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 6:
 
local config= {
parametri= {
note= true,
utente= true,
data= true,
-- qua iniziano i gruppi di parametri
progetti= true,
voti= true,
errori= true,
-- categorie_errore= true
},
progetti={ -- Inserire solo le occorrenze più insolite: il modulo già rende maiuscolo il nome del progetto
["Acquariofilia"]= "Forme di vita/Pesci/Acquariofilia",
Riga 190 ⟶ 180:
for _, _ in pairs(t) do
n= n + 1 end
forlocal i= 1, n do0
for ii= 1, n do
while true do
local iii= iii + 1 or i
if t[iii] then
break end end
t[iii]= t[iii] end end
 
-- CLASSE MONITORAGGIO
Riga 212 ⟶ 203:
end
function monitoraggio:organizzaArgomenti(args)
for k, v in pairs(selfargs) do -- minuscolizza tutti i parametri
if type(k) == "string" then
local kk= mw.ustring.lower(k)
if kk ~= k and selfargs[kk] then
self:newError("parametro <tt>"..kk.."</tt> inserito più volte con un diverso uno della maiuscola")
selfargs[k]= nil
elseif kk ~= k then
selfargs[kk]= v
selfargs[k]= nil end end end
self.voti= {}
for _, s in ipairs({"accuratezza", "scrittura", "fonti", "immagini"}) do
local voto= selfargs[s] or "NC"
voto= string.upper(voto)
if config.var[voto] then
Riga 231 ⟶ 222:
self:newError("valore \""..voto.."\" non riconosciuto per il campo <tt>"..s.."</tt>")
self.voti[s]= "NC" end
selfargs[s]= nil end
for _, s in ipairs{"note", "utente", "data"} do
if self.progetto and self.progetto1 then
self[s]= args[s]
args[s]= nil end
if selfargs.progetto and selfargs.progetto1 then
self:newError("<tt>progetto</tt> e <tt>progetto1</tt> entrambi specificati, sono due donominazioni alternative per il primo progetto, i seguenti vanno numerati a partire da 2")
selfargs.progetto= nil
elseif selfargs.progetto and not self.progetto1 then
selfargs.progetto1= {selfargs.progetto}
selfargs.progetto= nil end
self.progetti= {}
for k, v in pairs(selfargs) do
if string.find(k, "^progetto%d+$") then
local i= tonumber(string.find(k, "^progetto(%d+)$"))
local uv= mw.language.new("it"):ucfirst(v)
if config.progetti[v] then
v= config.progetti[v]
Riga 250 ⟶ 244:
v= uv end
self.progetti[i]= v
selfargs.k= nil
else
elseif not config.parametri[k] then
self:newError("parametro <tt>"..k.."</tt> non riconosciuto")
selfargs[k]= nil end end
riordinaTabella(self.progetti)
if #self.progetti == 0 then
Riga 398 ⟶ 392:
 
function monitoraggio:new(o)
o= {} or o
setmetatable(o, self)
self.__index= self
Riga 407 ⟶ 402:
local p= {}
 
function p.main(argsframe)
local args= getArgs(argsframe)
local out=monitoraggio:new(args)
out:organizzaArgomenti(args)
out:assegnaLivello()
if mw.title.getCurrentTitle().namespace == 1 then