Difference between revisions of "Module:Infobox television disambiguation check"
Jump to navigation
Jump to search
test>Gonnym |
test>Gonnym (updated code) |
||
| Line 7: | Line 7: | ||
local validDisambiguationTypeList = { | local validDisambiguationTypeList = { | ||
"TV series", | "TV series", | ||
| + | "TV programme", | ||
"TV program", | "TV program", | ||
| − | |||
"TV film", | "TV film", | ||
"film", | "film", | ||
| Line 46: | Line 46: | ||
["film series"] = "[[Category:Television articles using incorrect infobox|FILM]]" | ["film series"] = "[[Category:Television articles using incorrect infobox|FILM]]" | ||
} | } | ||
| + | |||
| + | -- Empty for now. | ||
| + | local invalidTitleStyleList = {} | ||
local function _main(args) | local function _main(args) | ||
local title = args[1] | local title = args[1] | ||
| − | return validateDisambiguation.main(title, validDisambiguationTypeList, validDisambiguationPatternList, exceptionList, otherInfoboxList) | + | return validateDisambiguation.main(title, "infobox television", validDisambiguationTypeList, validDisambiguationPatternList, exceptionList, otherInfoboxList, invalidTitleStyleList) |
end | end | ||
| Line 56: | Line 59: | ||
local category, debugString = _main(args) | local category, debugString = _main(args) | ||
return category | return category | ||
| + | end | ||
| + | |||
| + | local function removeFromArray(t, delete) | ||
| + | local j = 1 | ||
| + | local n = #t | ||
| + | |||
| + | for i = 1, n do | ||
| + | if (t[i] ~= delete) then | ||
| + | -- Move i's kept value to j's position, if it's not already there. | ||
| + | if (i ~= j) then | ||
| + | t[j] = t[i] | ||
| + | t[i] = nil | ||
| + | end | ||
| + | j = j + 1 -- Increment position of where we'll place the next kept value. | ||
| + | else | ||
| + | t[i] = nil | ||
| + | end | ||
| + | end | ||
| + | |||
| + | return t | ||
| + | end | ||
| + | |||
| + | function p.getDisambiguationTypeList() | ||
| + | return removeFromArray(validDisambiguationTypeList, "TV series") | ||
end | end | ||
Revision as of 12:31, 11 July 2019
| 30px | This module depends on the following other modules: |
Module:Infobox television disambiguation check is used to validate the disambiguation of a page using {{Infobox television}}.
What it does
The 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 ordered as <year> <country adjective> <format>.
- It checks if a page is using "(film series)", "(franchise)", "(radio)", "(season #)", "(series #)" or "(TV programming block)" as disambiguation, but uses {{Infobox television}} instead of {{Infobox media franchise}}, {{Infobox radio show}}, {{Infobox television season}} or {{Infobox programming block}}}. If so, it places the page in Category:Television articles using incorrect infobox.
Usage
{{#invoke:Infobox television disambiguation check|main}}
Parameter list
The following parameter can be used as a positional parameter.
| Parameter | Explanation | Status |
|---|---|---|
1
|
The page's title. | required |
See also
Tracking categories
- Category:Television articles with incorrect naming style (0)
- Category:Television articles using incorrect infobox (0)
-- 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",
"TV programme",
"TV program",
"TV film",
"film",
"miniseries",
"serial",
"game show",
"talk show",
"web series"
}
local validDisambiguationPatternList = {
validateDisambiguation.DisambiguationPattern{pattern = "^(%d+) (%D+)", type = 1}, --"VALIDATION_TYPE_YEAR_COUNTRY"
validateDisambiguation.DisambiguationPattern{pattern = "^%d+$", type = 2}, --"VALIDATION_TYPE_YEAR"
validateDisambiguation.DisambiguationPattern{pattern = "^%D+$", type = 3} --"VALIDATION_TYPE_COUNTRY"
}
local exceptionList = {
"The (206)",
"Bigg Boss (Hindi TV series)",
"Cinderella (Apakah Cinta Hanyalah Mimpi?)",
"Deal or No Deal Malaysia (English-language game show)",
"Deal or No Deal Malaysia (Mandarin-language game show)",
"How to Live with Your Parents (For the Rest of Your Life)",
"I (Almost) Got Away With It",
"Monty Python: Almost the Truth (Lawyers Cut)",
"Randall and Hopkirk (Deceased)",
"Who the (Bleep)...",
"Who the (Bleep) Did I Marry?",
}
local otherInfoboxList = {
["franchise"] = "[[Category:Television articles using incorrect infobox|FRANCHISE]]",
["radio"] = "[[Category:Television articles using incorrect infobox|R]]",
["season"] = "[[Category:Television articles using incorrect infobox|S]]",
["series %d*"] = "[[Category:Television articles using incorrect infobox|S]]",
["TV programming block"] = "[[Category:Television articles using incorrect infobox|P]]",
["film series"] = "[[Category:Television articles using incorrect infobox|FILM]]"
}
-- Empty for now.
local invalidTitleStyleList = {}
local function _main(args)
local title = args[1]
return validateDisambiguation.main(title, "infobox television", validDisambiguationTypeList, validDisambiguationPatternList, exceptionList, otherInfoboxList, invalidTitleStyleList)
end
function p.main(frame)
local args = getArgs(frame)
local category, debugString = _main(args)
return category
end
local function removeFromArray(t, delete)
local j = 1
local n = #t
for i = 1, n do
if (t[i] ~= delete) then
-- Move i's kept value to j's position, if it's not already there.
if (i ~= j) then
t[j] = t[i]
t[i] = nil
end
j = j + 1 -- Increment position of where we'll place the next kept value.
else
t[i] = nil
end
end
return t
end
function p.getDisambiguationTypeList()
return removeFromArray(validDisambiguationTypeList, "TV series")
end
function p.test(frame)
local args = getArgs(frame)
local category, debugString = _main(args)
return debugString
end
return p