Module:Infobox television season disambiguation check/sandbox

require("strict")

-- This module requires the use of the following modules. local getArgs = require("Module:Arguments").getArgs local validateDisambiguation = require("Module:Television infoboxes disambiguation check/sandbox")

local p = {}

local validDisambiguationTypeList = { "TV series, season", "TV series, series", "season", "series" }

local validDisambiguationPatternList = { -- "VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER" - title (1999 American TV series) season 2 validateDisambiguation.DisambiguationPattern{pattern = "^%((%d+) ([%D]+) TV series%) season (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER"]}, validateDisambiguation.DisambiguationPattern{pattern = "^%((%d+) ([%D]+) TV series%) series (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER"]},

-- "VALIDATION_TYPE_YEAR_SEASON_NUMBER" - title (1999 TV series) season 2 validateDisambiguation.DisambiguationPattern{pattern = "^%((%d+) TV series%) season (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_YEAR_SEASON_NUMBER"]}, validateDisambiguation.DisambiguationPattern{pattern = "^%((%d+) TV series%) series (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_YEAR_SEASON_NUMBER"]},

-- "VALIDATION_TYPE_COUNTRY_SEASON_NUMBER" - title (American TV series) season 2 validateDisambiguation.DisambiguationPattern{pattern = "^%(([%D]+) TV series%) season (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_COUNTRY_SEASON_NUMBER"]}, validateDisambiguation.DisambiguationPattern{pattern = "^%(([%D]+) TV series%) series (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_COUNTRY_SEASON_NUMBER"]},

-- "VALIDATION_TYPE_COUNTRY_SEASON_NUMBER" - title season 2 validateDisambiguation.DisambiguationPattern{pattern = "^season (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_SEASON_NUMBER"]}, validateDisambiguation.DisambiguationPattern{pattern = "^series (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_SEASON_NUMBER"]} }

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

local otherInfoboxList = { ["^[^,]*TV series$"] = "" }

local invalidTitleStyleList = { "List of" }

local function getOtherInfoboxListMerged local infoboxTelevisionDisambiguation = require("Module:Infobox television disambiguation check") local list = infoboxTelevisionDisambiguation.getDisambiguationTypeList

for i = 1, #list do		otherInfoboxList[list[i]] = "" end return otherInfoboxList end

local function _main(args) local title = args[1] local otherInfoboxListMerged = getOtherInfoboxListMerged return validateDisambiguation.main(title, "infobox television season", validDisambiguationTypeList, validDisambiguationPatternList, exceptionList, otherInfoboxListMerged, invalidTitleStyleList) end

function p.main(frame) local args = getArgs(frame) local category, debugString = _main(args) return category end

function p.test(frame) local args = getArgs(frame) local category, debugString = _main(args) return debugString end

return p