Module:Infobox television season disambiguation check/sandbox
This is the module sandbox page for Module:Infobox television season disambiguation check (diff). See also the companion subpage for test cases (run). |
This Lua module is used on approximately 9,600 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module depends on the following other modules: |
Module:Infobox television season disambiguation check is used to validate the disambiguation of a page using {{Infobox television season}}.
What it does
editThe module preforms two checks:
- It checks by a series of validations if one of the accepted WP:NCTV disambiguation styles appears in the parenthesis. If it is incorrect, it places the page in Category:Television articles with incorrect naming style. Validations currently supported:
- Validates the format used is one of the accepted values.
- Validates the country adjective used is correct.
- Validates the year is using 4 digits.
- Validates that the style is in the style of one of the following:
- season/series <#>
- <country> season/series <#>
- <country> season/series
- <year> TV series, season/series <#>
- <country> TV series, season/series <#>
- <year> <country> TV series, season/series <#>
- 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
editParameter list
editThe following parameter can be used as a positional parameter.
Parameter | Explanation | Status |
---|---|---|
1
|
The page's title. | required |
See also
editTracking categories
editrequire("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",
}
local validDisambiguationPatternList = {
-- "VALIDATION_TYPE_YEAR_COUNTRY_SEASON_NUMBER" - title (1999 American TV series) season 2
validateDisambiguation.DisambiguationPattern{pattern = "^%((%d+) ([%D]+) TV series%) (season|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|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|series) (%d+)$", type = validateDisambiguation["VALIDATION_TYPE_COUNTRY_SEASON_NUMBER"]},
-- "VALIDATION_TYPE_COUNTRY_SEASON_NUMBER" - title season 2
validateDisambiguation.DisambiguationPattern{pattern = "^(season|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$"] = "[[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