Module:Arrowverse redirect category handler
Appearance
This module depends on the following other modules: |
This Lua module is used on approximately 1,100 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. |
Module:Arrowverse redirect category handler is used tag an Arrowverse character, element or location redirect with the relevant redirect categories.
Usage
{{#invoke:Arrowverse redirect category handler|character}}
{{#invoke:Arrowverse redirect category handler|element}}
{{#invoke:Arrowverse redirect category handler|location}}
Function list
Function | Explanation |
---|---|
character
|
Creates a {{Redirect category shell}} with relevant redirects for Arrowverse-related character redirects. |
element
|
Creates a {{Redirect category shell}} with relevant redirects for Arrowverse-related element redirects. |
location
|
Creates a {{Redirect category shell}} with relevant redirects for Arrowverse-related location redirects. |
Arrowverse-specific parameter list
Parameter | Explanation |
---|---|
arrow
|
Any value will tag the redirect as belonging to Arrow. |
flash
|
Any value will tag the redirect as belonging to The Flash. |
constantine
|
Any value will tag the redirect as belonging to Constantine. |
legends
|
Any value will tag the redirect as belonging to Legends of Tomorrow. |
supergirl
|
Any value will tag the redirect as belonging to Supergirl. |
vixen
|
Any value will tag the redirect as belonging to Vixen. |
ray
|
Any value will tag the redirect as belonging to Freedom Fighters: The Ray. |
batwoman
|
Any value will tag the redirect as belonging to Batwoman. |
black_lightning
|
Any value will tag the redirect as belonging to Black Lightning. |
superman
|
Any value will tag the redirect as belonging to Superman & Lois. |
General parameter list
Parameter | Explanation | {{R with possibilities}} | {{R printworthy}} or {{R unprintworthy}} |
---|---|---|---|
restricted
|
Will tag the redirect with: {{R restricted}} and set the value entered as the correct title. | Yes | printworthy |
birth_name
|
Only valid for character redirects; Any value will tag the redirect with: {{R from birth name}}. | No | printworthy |
alt_name
|
Any value will tag the redirect with: {{R from alternative name}}. | No | printworthy |
former_name
|
Any value will tag the redirect with: {{R from former name}}. | No | printworthy |
short_name
|
Any value will tag the redirect with: {{R from short name}}. | No | printworthy |
long_name
|
Any value will tag the redirect with: {{R from long name}}. | No | printworthy |
sort_name
|
Only valid for character redirects; Any value will tag the redirect with: {{R from sort name}}. The value must be two characters. See {{R from sort name}} for more information. | No | printworthy |
title_name
|
Only valid for character redirects; Any value will tag the redirect with: {{R from name with title}}. | No | unprintworthy |
alt_spelling
|
Will tag the redirect with: {{R from alternative spelling}} and set the value entered as the correct spelling to use. | No | unprintworthy |
to_diacritic
|
Any value will tag the redirect with: {{R to diacritic}}. | No | unprintworthy |
incorrect_name
|
Any value will tag the redirect with: {{R from incorrect name}} and set the |primary= value entered as the correct name to use. If |primary= isn't used, it will instead use the value entered here.
|
No | unprintworthy |
capitalisation
|
Any value will tag the redirect with: {{R from miscapitalisation}} and set the |primary= value entered as the correct capitalisation to use. If |primary= isn't used, it will instead use the value entered here.
|
No | unprintworthy |
unneeded_dab
|
Any value will tag the redirect with: {{R from unnecessary disambiguation}}. | No | unprintworthy |
draft_move
|
Any value will tag the redirect with: {{R from move}} and {{R from draft namespace}}. | No | unprintworthy |
without_mention
|
Any value will tag the redirect with: {{R to article without mention}}. | No | unprintworthy |
anchor
|
Set as default for episode redirects. Any value will tag the redirect with: {{R to anchor}}. | - | - |
section
|
Set as default for fictional character, element and location redirects. Any value will tag the redirect with: {{R to section}}. | - | - |
list
|
Any value will tag the redirect with: {{R to list entry}}. | - | - |
to_article
|
Used for redirects to articles, and not to a specific section of the article. | - | - |
primary
|
Will tag the redirect with: {{R avoided double redirect}} and set the value entered as the primary redirect. | - | - |
merge
|
Any value will tag the redirect with: {{R from merge}}. | - | - |
history
|
Any value will tag the redirect with: {{R with history}}. | - | - |
dab_exception
|
Any value will set the current disambiguation used as correct, regardless if it follows a standard style. See note below. | - | - |
correct_disambiguation
|
Value will be used for disambiguation validation. Should be used if the disambiguation is different than the series name, such as when using a franchise name. | - | - |
test
|
Any value will set instruct the function to return only testing validation data. Used in /testcases. | - | - |
test_title
|
Value will be used for title validation. Used in /testcases. | - | - |
Notes
- The redirect will automatically be tagged with {{R from fictional character}}, {{R from fictional element}} or {{R from fictional location}}, depending on the function used, and be placed in the relevant category.
- Arrow: Character, Element or Location.
- The Flash: Character, Element or Location.
- Constantine: Character, Element or Location.
- Legends of Tomorrow: Character, Element or Location.
- Supergirl: Character, Element or Location.
- Vixen: Character, Element or Location.
- Freedom Fighters: The Ray: Character, Element or Location.
- Batwoman: Character, Element or Location.
- Black Lightning: Character, Element or Location.
- All redirects are also placed in the Arrowverse category: Character, Element or Location.
- If the redirect does not use one of the following correct disambiguation —
Arrowverse
,Arrowverse character
,Arrowverse element
orArrowverse character
— the redirect will be tagged with {{R from incorrect disambiguation}} and {{R unprintworthy}}. - If the redirect is using one of the unprintworthy templates, it will be categorized as {{R unprintworthy}}. If not, it will be categorized as {{R printworthy}}.
- If the redirect is using of the templates marked above as not {{R with possibilities}}, it won't be categorized with it.
require("strict")
local getArgs = require("Module:Arguments").getArgs
local p = {}
local tvSeriesNameList = {
{argName = "arrow", seriesName = "Arrow (TV series)"},
{argName = "flash", seriesName = "The Flash (2014 TV series)"},
{argName = "constantine", seriesName = "Constantine (TV series)"},
{argName = "legends", seriesName = "Legends of Tomorrow"},
{argName = "supergirl", seriesName = "Supergirl (TV series)"},
{argName = "vixen", seriesName = "Vixen (web series)"},
{argName = "ray", seriesName = "Freedom Fighters: The Ray"},
{argName = "batwoman", seriesName = "Batwoman (TV series)"},
{argName = "black_lightning", seriesName = "Black Lightning (TV series)"},
{argName = "superman", seriesName = "Superman & Lois"},
}
local FRANCHISE = "Arrowverse"
--[[
Local function which handles the main operation.
--]]
local function main(args, objectType)
local franchiseHandlerModule = require("Module:Fiction redirect category handler/Franchise")
return franchiseHandlerModule.main(args, objectType, FRANCHISE, tvSeriesNameList)
end
--[[
Public function which is used to create a Redirect category shell
with relevant redirects for Arrowverse-related character redirects.
Parameters:
-- |arrow= — optional; Any value will tag the redirect as belonging to Arrow.
-- |flash= — optional; Any value will tag the redirect as belonging to The Flash.
-- |constantine= — optional; Any value will tag the redirect as belonging to Constantine.
-- |legends= — optional; Any value will tag the redirect as belonging to Legends of Tomorrow.
-- |supergirl= — optional; Any value will tag the redirect as belonging to Supergirl.
-- |vixen= — optional; Any value will tag the redirect as belonging to Vixen.
-- |ray= — optional; Any value will tag the redirect as belonging to Freedom Fighters: The Ray.
-- |batwoman= — optional; Any value will tag the redirect as belonging to Batwoman.
-- |black_lightning= — optional; Any value will tag the redirect as belonging to Black Lightning.
Notes:
-- A: The redirect will automatically be tagged with "R from fictional character", "R from fictional element" or "R from fictional location",
depending on the function used, and be placed in the category "Arrowverse (object) redirects to lists".
-- B: Using any of the series parameters will place the redirect in a series-specific category: "(series) (object) redirects to lists".
-- F: If the redirect does not use one of the following correct disambiguation —
"Arrowverse", "Arrowverse character", "Arrowverse element" or "Arrowverse character" —
the redirect will be tagged with "R from incorrect disambiguation" and "R unprintworthy".
--]]
function p.character(frame)
local args = getArgs(frame)
return main(args, "character")
end
--[[
Public function which is used to create a Redirect category shell
with relevant redirects for Arrowverse-related element redirects.
Parameters: See character() for documentation.
--]]
function p.element(frame)
local args = getArgs(frame)
return main(args, "element")
end
--[[
Public function which is used to create a Redirect category shell
with relevant redirects for Arrowverse-related location redirects.
Parameters: See character() for documentation.
--]]
function p.location(frame)
local args = getArgs(frame)
return main(args, "location")
end
--[[
Public function which is used to return a list of Arrowverse shows.
--]]
function p.getSeriesList()
return tvSeriesNameList
end
--[[
Public function which is used to return a franchise name.
--]]
function p.getFranchiseName()
return FRANCHISE
end
--[[
Public function which is used for the testcases.
--]]
function p.testSeriesName(frame)
local args = getArgs(frame)
local franchiseHandlerModule = require("Module:Fiction redirect category handler/Franchise")
return franchiseHandlerModule.testSeriesName(args, FRANCHISE, tvSeriesNameList)
end
return p