Módulo:Infobox comprobación de desambiguación de temporada de televisión

De Wiki TVenserio

La documentación para este módulo puede ser creada en Módulo:Infobox comprobación de desambiguación de temporada de televisión/doc

-- Este módulo requiere el uso de los siguientes módulos.
local getArgs = require('Module:Arguments').getArgs
local validateDisambiguation = require('Module:Television infoboxes disambiguation check')

local p = {}

local listaTiposDesambiguacionValidos = {
	"Serie de televisión, temporada",
	"Serie de televisión, serie",
	"temporada",
	"serie"
}

local listaPatronesDesambiguacionValidos = {
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) ([%D]+) Serie de televisión, temporada (%d+)$", type = 8},	-- "VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) ([%D]+) Serie de televisión, serie (%d+)$", type = 8},	-- "VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) Serie de televisión, temporada (%d+)$", type = 4},			-- "VALIDATION_TYPE_YEAR_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) Serie de televisión, serie (%d+)$", type = 4},
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) Serie de televisión, temporada (%d+)$", type = 5},			-- "VALIDATION_TYPE_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) Serie de televisión, serie (%d+)$", type = 5},
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) temporada (%d+)$", type = 5},						-- "VALIDATION_TYPE_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) serie (%d+)$", type = 5},
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) temporada$", type = 7},							-- "VALIDATION_TYPE_COUNTRY_SEASON"
	validateDisambiguation.DisambiguationPattern{pattern = "^temporada (%d+)$", type = 6},								-- "VALIDATION_TYPE_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^serie (%d+)$", type = 6}
}

local listaExcepciones = {
	"^Bigg Boss %(Bangla temporada %d+%)$",
	"^Bigg Boss %(Hindi temporada %d+%)$",
	"^Bigg Boss %(Malayalam temporada %d+%)$",
	"^Bigg Boss %(Tamil temporada %d+%)$",
	"^Bigg Boss %(Telugu temporada %d+%)$"
}

local otrasListasInfobox = {
	["^[^,]*Serie de televisión$"] = "[[Categoría:Artículos de televisión que usan un infobox incorrecto|T]]"
}

local listaEstilosTituloInvalidos = {
	"Lista de"
}

local function getOtherInfoboxListMerged()
	local infoboxTelevisionDesambiguacion = require('Module:Infobox television disambiguation check')
	local lista = infoboxTelevisionDesambiguacion.getDisambiguationTypeList()

	for i = 1, #lista do
		otrasListasInfobox[lista[i]] = "[[Categoría:Artículos de televisión que usan un infobox incorrecto|T]]"
	end
	
	return otrasListasInfobox
end

local function _main(args)
	local titulo = args[1]
	local otrasListasInfoboxFusionadas = obtenerOtrasListasInfoboxFusionadas()
	return validateDisambiguation.main(titulo, "infobox television season", listaTiposDesambiguacionValidos, listaPatronesDesambiguacionValidos, listaExcepciones, otrasListasInfoboxFusionadas, listaEstilosTituloInvalidos)
end

function p.main(frame)
	local args = getArgs(frame)
	local categoria, cadenaDepuracion = _principal(args)
	return categoria
end

function p.test(frame)
	local args = getArgs(frame)
	local categoria, cadenaDepuracion = _principal(args)
	return cadenaDepuracion
end

return p