Module:Infobox television season disambiguation check

Jump to navigation Jump to search

Module:Infobox television season disambiguation check is used to validate the disambiguation of a page using {{Infobox television season}}.

The module preforms two checks:

  1. It checks if one of the accepted SF:NCTV disambiguation styles appears in the parenthesis. If it is incorrect, it places the page in Category:Television articles with incorrect naming style.
    1. Validates the format used is one of the accepted values.
    2. Validates the country adjective used is correct.
    3. Validates the year is using 4 digits.
    4. Validates that the style is in the style of one of the following:
      1. season/series <#>
      2. <country> season/series <#>
      3. <country> season/series
      4. <year> TV series, season/series <#>
      5. <country> TV series, season/series <#>
      6. <year> <country> TV series, season/series <#>
  1. It checks if a page is using "(TV series)" as disambiguation, but uses {{Infobox television season}} instead of {{Infobox television}}. If so, it places the page in Category:Television articles using incorrect infobox.

Usage[edit source]

  • {{#invoke:Infobox television season disambiguation check|main|}}

Parameter list[edit source]

The following parameter can be used as a positional parameter.

Parameter Explanation Status
1 The page's title. required

See also[edit source]

Tracking categories[edit source]

External links[edit source]

 

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

local p = {}

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

local validDisambiguationPatternList = {
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) ([%D]+) TV series, season (%d+)$", type = 8},	-- "VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) ([%D]+) TV series, series (%d+)$", type = 8},	-- "VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) TV series, season (%d+)$", type = 4},			-- "VALIDATION_TYPE_YEAR_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) TV series, series (%d+)$", type = 4},
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) TV series, season (%d+)$", type = 5},			-- "VALIDATION_TYPE_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) TV series, series (%d+)$", type = 5},
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) season (%d+)$", type = 5},						-- "VALIDATION_TYPE_COUNTRY_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) series (%d+)$", type = 5},
	validateDisambiguation.DisambiguationPattern{pattern = "^([%D]+) season$", type = 7},							-- "VALIDATION_TYPE_COUNTRY_SEASON"
	validateDisambiguation.DisambiguationPattern{pattern = "^season (%d+)$", type = 6},								-- "VALIDATION_TYPE_SEASON_NUMBER"
	validateDisambiguation.DisambiguationPattern{pattern = "^series (%d+)$", type = 6}
}

local exceptionList = {
	"^Bigg Boss %(Hindi season %d+%)$"
}

local otherInfoboxList = {
	["^[^,]*TV series$"] = "[[Category:Television articles using incorrect infobox|T]]"
}

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]] = "[[Category:Television articles using incorrect infobox|T]]"
	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