Module:Infobox television disambiguation check
From HandWiki
Revision as of 20:33, 27 January 2021 by imported>Jworkorg (1 revision imported)
This Lua module is used on approximately 56,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages. Consider discussing changes on the talk page before implementing them.
Transclusion count updated automatically (see documentation). |
Lua error in Module:Lua_banner at line 113: attempt to index field 'edit' (a nil value).
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)", "Bigg Boss (Malayalam TV series)", "Bigg Boss (Telugu 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)", "How to Sell Drugs Online (Fast)", "I (Almost) Got Away With It", "Kevin (Probably) Saves the World", "M.R.S. (Most Requested Show)", "Monty Python: Almost the Truth (Lawyers Cut)", "Off Sides (Pigs vs. Freaks)", "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