Această pagină este protejată de mișcare
Această pagină este protejată

Formular: FictionTV

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modul care acceptă șablonul {{ FictionTV }}, pentru a gestiona funcțiile de clasificare automată pe an.


 - [[
* Modul pentru a susține șablonul FictionTV.
]] -

require ( „Formular: fără globali” )
local getArgs = require ( 'Modul: Argumente' ). getArgs
local errorCategory = 'Erori de compilare șablon FictionTV'
local p = {}

- Parsificați primul parametru de vizionare
funcția locală anulprimavision ( an )
început local , producție , sfârșit , greșeală
	
- ficțiuni difuzate într-un singur an, de exemplu „[[2010]]” (cu sau fără wikilink)
if year : match ( '^% [?% [?% d% d% d% d%]?%]? $' ) atunci
start = year : match ( '^% [?% [? (% d% d% d% d)%]?%]? $' )
end = start
- ficțiune difuzată pe mai mulți ani, de exemplu „[[2010]] - [[2015]]” (cu sau fără wikilink)
elseif mw . ustring . potrivire ( an , '^% [?% [?% d% d% d% d%]?%]?% s * [–-]% s *% [?% [?% d% d% d% d% d %]?%]? $ ' ) atunci
start , end = mw . ustring . potrivire ( an , '^% [?% [? (% d% d% d% d)%]?%]?% s * [–-]% s *% [?% [? (% d% d% d% d)%]?%]? $ ' )
- ficțiune în desfășurare "[[2010]] - în producție / în curs" (cu sau fără wikilink)
elseif mw . ustring . potrivire ( an , '^% [?% [?% d% d% d% d%]?%]?% s * [–-]% s * în producție $' ) sau
mw . ustring . potrivire ( an , '^% [?% [?% d% d% d% d%]?%]?% s * [–-]% s * în curs $ )) atunci 
start = year : match ( '^% [?% [? (% d% d% d% d)%]?%]?' )
producție = '- în producție'
Sfârșit

- verifică dacă anul de debut este detectat, iar începutul și sfârșitul sunt între 1900 și 2050
start = tonumber ( start )
fine = tonumber ( fine )
dacă nu începe sau începe <= 1900 sau începe > = 2050 sau 
( sfârșit și ( sfârșit <= 1900 sau sfârșit > = 2050 )) atunci
greșeală = adevărat
Sfârșit

returnează începutul , producția , sfârșitul , greșeala
Sfârșit

- Funcție pentru {{#invoke: FictionTV | categories_year}}
- Returnează un format standard pentru anul primului parametru și categorii de vizualizare
funcția p . categorii_an ( cadru )
argumente locale , început , producție , sfârșit , tipoficțiune , eroare , pisică , finecat
local ret = {}

args = getArgs ( cadru )

- cu parametrul nocatperanno, returnează direct anul înainte de vizualizare
dacă arg . nocatperano == 'da' atunci
return args [ „anul premierei” ]
Sfârșit

- sunt necesare primul an de vizionare și tipul de ficțiune
dacă args [ 'anul premierei' ] și args [ 'tip ficțiune' ] atunci
început , producție , sfârșit , eroare = an înainte de previzualizare ( args [ 'an înainte de viziune' ])
tipofiction = args [ 'tip ficțiune' ]: lower ()
altfel
greșeală = adevărat
Sfârșit

dacă erori atunci
cat = errorCategory
elseif tipofiction == ' webseries ' atunci
- nu sunt generate categorii pentru seriile web
elseif tipofiction == „Miniserie TV” atunci
cat = 'miniserie TV a' .. început
elseif tipofiction == „Film TV” atunci
cat = 'Film de televiziune al' .. început
elseif tipofiction == „Seriale TV” atunci
dacă începe atunci
cat = 'Seriile TV au început în' .. început
Sfârșit
dacă producția atunci
finecat = 'Seriale TV în producție'
altfel dacă se termină atunci
finecat = 'Seria de televiziune s-a încheiat în' .. sfârșit
Sfârșit
elseif tipofiction == „serialul TV” atunci
dacă începe atunci
cat = 'Serialele TV au început în' .. începe
Sfârșit
dacă producția atunci
finecat = 'Serial TV în producție'
altfel dacă se termină atunci
finecat = 'Serialul de televiziune s-a încheiat cu' .. bine
Sfârșit
Sfârșit

dacă mw . titlu . getCurrentTitle (). spațiu de nume == 0 sau args . depanare atunci
dacă pisică atunci
table.insert ( ret , string.format ( '[[Categorie:% s]]' , cat ))
Sfârșit
dacă finecat atunci
table.insert ( ret , string.format ( '[[Categorie:% s]]' , finecat ))
Sfârșit
Sfârșit
dacă începe atunci
table.insert ( ret , string.format ( '[[% s]]' , start ))
Sfârșit
if end and end ~ = începe atunci
table.insert ( ret , string.format ( '- [[% s]]' , sfârșit ))
Sfârșit
dacă producția atunci
table.insert ( ret , producție )
Sfârșit

întoarce arg . debug și table.concat ( ret ): gsub ( '% [% [Cat (.-)%]%]' , '[[: Cat% 1]] <br />' ) sau
table.concat ( ret )
Sfârșit

retur p