Modulo:FictionTV: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m rimosso intervallo con congiunzione
aggiungo funzione visualizzazione anno, aggiungo tolleranza 'in corso' in lettura campo anno
Riga 14:
 
-- annoprimatv senza intervallo, esempio "[[2010]]"
inizio = annoprimatv:match('^%[?%[?(%d%d%d%d)%]?%]?$')
if inizio then
fine = inizio
-- intervallo tipo "[[2010]]-[[2015]]"
elseif mw.ustring.match(annoprimatv, '^%[?%[?%d%d%d%d%]?%]?%s*[–-]%s*%[?%[?%d%d%d%d%]?%]?$') then
inizio, fine = mw.ustring.match(annoprimatv, '^%[?%[?(%d%d%d%d)%]?%]?%s*[–-]%s*%[?%[?(%d%d%d%d)%]?%]?$')
-- intervallo tipo "[[2010]] - in produzione"
elseif mw.ustring.match(annoprimatv, '^%[%[%d%d%d%d%]%]%s*–%s*%[%[%d%d%d%d%]%]$') then
inizio, fine = elseif mw.ustring.match(annoprimatv, '^%[?%[(?%d%d%d%d)%]?%]?%s*[-]%s*%[%[(%d%d%d%d)%]%]in produzione$') or
elseif mw.ustring.match(annoprimatv, '^%[?%[?%d%d%d%d%]?%]?%s*[-]%s*%[%[%d%d%d%d%]%]in corso$') then
-- intervallo tipo "[[2010]] - in produzione"
elseif inizio mw.ustring.= annoprimatv:match(annoprimatv, '^%[?%[?(%d%d%d%d)%]?%]%s*-%s*in produzione$?') or
mw.ustring.match(annoprimatv, '^%[%[%d%d%d%d%]%]%s*–%s*in produzione$') then
inizio = annoprimatv:match('^%[%[(%d%d%d%d)%]%]')
produzione = true
end
Riga 55 ⟶ 53:
if err then
cat = errorCategory
elseif args.tipofiction == :match('webserie[Ww]ebserie') then
-- webserie non è attualmente categorizzata per anno
elseif args.tipofiction == :match('miniserie[Mm]iniserie TV[Tt][Vv]') and inizio then
cat = 'Miniserie televisive del ' .. inizio
elseif args.tipofiction == :match('film[Ff]ilm TV[Tt][Vv]') and inizio then
cat = 'Film per la televisione del ' .. inizio
elseif args.tipofiction == :match('serie[Ss]erie TV[Tt][Vv]') then
if inizio then
cat = 'Serie televisive iniziate nel ' .. inizio
Riga 70 ⟶ 68:
finecat = 'Serie televisive terminate nel ' .. fine
end
elseif args.tipofiction == :match('serial[Ss]erial TV[Tt][Vv]') then
if inizio then
cat = 'Serial televisivi iniziati nel ' .. inizio
Riga 85 ⟶ 83:
 
return cat .. ((args.debug and finecat ~= '') and ' ' or '') .. finecat
end
 
-- Funzione per {{#invoke:FictionTV|visualizzazione_anno}}
function p.visualizzazione_anno(anni)
local args, inizio, produzione, fine, annofine, inproduzione
 
args = getArgs(anni)
inizio, produzione, fine = parse_annoprimatv(args.annoprimatv)
if fine ~= inizio then
annofine = fine
end
if produzione then
inproduzione = ' – in produzione'
end
inizio = inizio and string.format('[[%s]]', inizio)
annofine = annofine and string.format('-[[%s]]', annofine) or ''
inproduzione = inproduzione and string.format('%s', inproduzione) or ''
 
return inizio, annofine, inproduzione
end