Modulo:Controllo certificazioni

Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Controllo certificazioni/man (modifica · cronologia)
Sandbox: Modulo:Controllo certificazioni/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Controllo certificazioni/test (modifica · cronologia · esegui)
Modulo per rilevare certificazioni FIMI di pubblicazioni antecedenti al 2009 nei parametri standard del template:Album. Genera una categoria che segnala la necessità di spostare queste certificazioni in parametri appositi.
local p = {}
local cat = '[[Categoria:Pubblicazioni antecedenti al 2009 con template FIMI da spostare]]'
function p.main(frame)
local year = tonumber(frame:getParent().args.anno)
if not year or year > 2008 then return end
local content = mw.title.getCurrentTitle():getContent()
local awards = { "d'oro", "di platino", "di diamante" }
for _, v in ipairs(awards) do
local subcontent = string.match(content, '|%s*numero dischi ' .. v .. '%s*=(.+)$')
if subcontent then
local n = 0
for s, c in string.gmatch(subcontent, '(.*)([|{}]+)') do
if s ~= '' and s:match('FIMI') then
return cat
end
if n == 0 and c == '|' or c == '}}' then
return
elseif c == '{{' then
n = n + 1
elseif c == '}}' then
n = n - 1
end
end
end
end
end
return p