Diferencia entre revisiones de «Módulo:Television episode redirect handler»
wikitves>MusikBot II m (Changed protection settings for "Module:Television episode redirect handler": High-risk template or module: 3662 transclusions (more info) ([Edit=Require extended confirmed access] (indefinite) [Move=Require extended confirmed access] (indefinite))) |
m (1 revisión importada) |
(Sin diferencias)
|
Revisión actual - 22:57 24 dic 2023
Warning | This Lua module is used on many 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. |
Archivo:Information icon4.svg | This template adds an automatically generated short description. If the automatic short description is not optimal, replace it by adding {{Short description}} at the top of the article. |
Module:Television episode redirect handler is used to tag a television episode redirect with the relevant redirect categories and adds a short description via {{Television episode short description}}
and a DEFAULTSORT sort key when necessary.
Usage[editar código]
{{#invoke:Television episode redirect handler|main}}
Episode specific parameter list[editar código]
<section begin=Doc/> {{#section:Module:Television episode short description/doc|Parameters}}
General parameter list[editar código]
{{#section:Module:Redirect template handler/doc|Parameters}}
Notes[editar código]
{{#section:Module:Redirect template handler/doc|Notes-episode}} <section end=Doc/>
local p = {} local addManualCategory = false local currentFrame local categoryList = { ["SEASON_EPISODE_CATEGORY"] = "Category:%s (%s %s) episodes" } local TEMP_TRACKING_CATEGORY = "[[Category:Television episode redirect handler parameter usage tracking|%s]]" --[[ Helper function which creates a season category, checks if it exists and returns it if it does or an empty string if it doesn't. --]] local function getSeasonCategory(seriesName, seasonType, seasonNumber) local seasonCategory = string.format(categoryList["SEASON_EPISODE_CATEGORY"], seriesName, seasonType, seasonNumber) if (mw.title.new(seasonCategory).exists) then return "[[" .. seasonCategory .. "]]" else return "" end end --[[ Local function which sets adds the primary episode redirect to a season category, if it exists. --]] local function getSeasonCategory(args) local seasonNumber local seasonType if (args.season_num) then seasonNumber = args.season_num seasonType = "season" elseif (args.season_num_uk) then seasonNumber = args.season_num_uk seasonType = "series" end local seasonCategory = "" if (args.series_name and seasonNumber) then seasonCategory = getSeasonCategory(args.series_name, seasonType, seasonNumber) if (seasonCategory == "") then local seriesNameNoDab = mw.ustring.gsub(args.series_name, "%s+%b()$", "") seasonCategory = getSeasonCategory(seriesNameNoDab, seasonType, seasonNumber) end end return seasonCategory end --[[ Local function which "Module:Sort title" to retrieve a sortkey and set it as the default sortkey. --]] local function getDefaultSortKey() local sortkeyModule = require('Module:Sort title') local sortkey = sortkeyModule._getSortKey() return currentFrame:preprocess{text = "{{DEFAULTSORT:" .. sortkey .. "}}"} end --[[ Local function which calls "Module:Television episode short description" to add a short description. --]] local function getShortDescription(args) local shortDescription = require('Module:Television episode short description')._getShortDescription return shortDescription(currentFrame, args) end --[[ Public function which is used to create a Redirect category shell with relevant redirects, and a short description for a television episode. A sort key is also added to the article. Parameters: See module documentation for details. --]] function p.main(frame) currentFrame = frame local getArgs = require('Module:Arguments').getArgs local args = getArgs(currentFrame) local redirectTemplateHandler = require('Module:Redirect template handler') local validArgs = {"season_num", "season_num_uk", "episode_num", "limited", "not_dab", "parent_series", "special"} local redirectCategoryShell, mainRedirect, unknownParametersErrors = redirectTemplateHandler.setEpisodeRedirect(args, validArgs) -- Used for testcases testing. if (args.test) then -- This is not the shell, but just the redirect template names that were used. return redirectCategoryShell end -- Only add a short description to the main redirect, -- and not to a crossover episode, as the short description isn't set up to handle it. local shortDescription = "" if (mainRedirect and not args.series_name2) then shortDescription = getShortDescription(args) end local defaultSortKey = getDefaultSortKey() local seasonCategory = getSeasonCategory(args) if (unknownParametersErrors) then return redirectCategoryShell .. "\n" .. shortDescription .. "\n" .. defaultSortKey .. "\n" .. seasonCategory .. unknownParametersErrors else return redirectCategoryShell .. "\n" .. shortDescription .. "\n" .. defaultSortKey .. "\n" .. seasonCategory end end return p