<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FGonnym%2FFictional_element_short_description</id>
	<title>Module:Sandbox/Gonnym/Fictional element short description - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FGonnym%2FFictional_element_short_description"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Gonnym/Fictional_element_short_description&amp;action=history"/>
	<updated>2026-08-10T17:15:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Gonnym/Fictional_element_short_description&amp;diff=145470&amp;oldid=prev</id>
		<title>imported&gt;Gonnym at 11:32, 2 February 2019</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Gonnym/Fictional_element_short_description&amp;diff=145470&amp;oldid=prev"/>
		<updated>2019-02-02T11:32:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Fictional &amp;lt;fiction type&amp;gt; - &amp;quot;Fictional character&amp;quot;&lt;br /&gt;
-- Fictional &amp;lt;fiction type&amp;gt; in a &amp;lt;media type&amp;gt; - &amp;quot;Fictional character in a television series&amp;quot;&lt;br /&gt;
-- Fictional &amp;lt;fiction type&amp;gt; in the &amp;lt;media type&amp;gt; &amp;#039;&amp;#039;&amp;lt;series&amp;gt;&amp;#039;&amp;#039; - &amp;quot;Fictional character in the television series &amp;#039;&amp;#039;Lost&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
-- Fictional &amp;lt;fiction type&amp;gt; in &amp;#039;&amp;#039;&amp;lt;series&amp;gt;&amp;#039;&amp;#039; - &amp;quot;Fictional character in &amp;#039;&amp;#039;Lost&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
-- Fictional &amp;lt;fiction type&amp;gt; in the &amp;lt;franchise&amp;gt; franchise - &amp;quot;Fictional character in the Arrowverse franchise&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- This module requires the use of the following modules:&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local isInfoboxInLead = require(&amp;#039;Module:Is infobox in lead&amp;#039;)._main&lt;br /&gt;
&lt;br /&gt;
-- Local function which is used to clean the values from unwanted characters.&lt;br /&gt;
local function cleanValues(args)&lt;br /&gt;
	for _, v in ipairs({&amp;#039;episode_num&amp;#039;, &amp;#039;season_num&amp;#039;, &amp;#039;season_num_uk&amp;#039;, &amp;#039;series_name&amp;#039;}) do&lt;br /&gt;
		if args[v] then&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;\127[^\127]*UNIQ%-%-(%a+)%-%x+%-QINU[^\127]*\127&amp;#039;, &amp;#039;&amp;#039;)					-- Remove all strip-markers.&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;&amp;lt;/? *br */?&amp;gt;&amp;#039;, &amp;#039; &amp;#039;)														-- Replace &amp;lt;br /&amp;gt; (and variants) with space character.&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;%b&amp;lt;&amp;gt;[^&amp;lt;]+%b&amp;lt;&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)														-- Remove html markup.&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;%b&amp;lt;&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)																-- Remove self-closed html tags.&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;%[%[[^|]+|([^%]]+)%]%]&amp;#039;, &amp;#039;%1&amp;#039;)											-- Remove wiki-link retain label.&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;%[%[([^%]]+)%]%]&amp;#039;, &amp;#039;%1&amp;#039;)												-- Remove wiki-link retain article.&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;%[%S+ +([^%]]-)%]&amp;#039;, &amp;#039;%1&amp;#039;)												-- Remove URLs retain label.&lt;br /&gt;
			args[v] = args[v]:gsub(&amp;#039;%[[^%]]-%]&amp;#039;, &amp;#039;&amp;#039;)														-- Remove all remaining URLs.&lt;br /&gt;
&lt;br /&gt;
			if (args[v] == &amp;#039;&amp;#039;) then																			-- Check if the value is an empty string.&lt;br /&gt;
				args[v] = nil																				-- The value is an empty string; Set it to nil.&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return args																								-- Return args.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Local function which does the actual main process.&lt;br /&gt;
local function _getShortDescription(frame, args, fictionype)&lt;br /&gt;
	args = cleanValues(args)																				-- Call cleanValues() to remove all unwanted characters.&lt;br /&gt;
&lt;br /&gt;
	local series = args[&amp;#039;series&amp;#039;]&lt;br /&gt;
	local franchise = args[&amp;#039;franchise&amp;#039;]&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	local test = args[&amp;#039;test&amp;#039;]																				-- This param should only be used by tests runned through /testcases.&lt;br /&gt;
	local doc = args[&amp;#039;doc&amp;#039;]																					-- This param should only be used by the documentation page.&lt;br /&gt;
&lt;br /&gt;
	local shortDescription, trackingCat = createDescription(&lt;br /&gt;
		episodeNumberText, seasonNumber, seasonNumberUK, tvSeriesName, isDoubleEpisode, notDisambiguated)	-- Call createDescription() and return two values: the episode&amp;#039;s short description and tracking category.&lt;br /&gt;
&lt;br /&gt;
	if (test == nil and doc == nil) then																	-- Check if the invoking page is from /testcases or doc pages.&lt;br /&gt;
		local tableData = {shortDescription, &amp;#039;noreplace&amp;#039;}													-- Invoking page isn&amp;#039;t a test; Create a table for the short description parameter.&lt;br /&gt;
		return frame:expandTemplate({title = &amp;#039;short description&amp;#039;, args = tableData}) .. trackingCat			-- Return expanded short description with tracking category.&lt;br /&gt;
	else&lt;br /&gt;
		return shortDescription																				-- Invoking page is a test; Return only short description.&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Wrapper function which handles the processing of the arguments &lt;br /&gt;
from multiple public invoked functions.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
	-- |TODO=				— required; TODO.&lt;br /&gt;
--]]&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = getArgs(frame)&lt;br /&gt;
&lt;br /&gt;
		if (isInfoboxInLead(args[&amp;quot;template_name&amp;quot;]) ~= &amp;quot;true&amp;quot;) then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		return p[funcName](frame, args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.getCharacterShortDescription = makeInvokeFunc(&amp;#039;_getCharacterShortDescription&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which is used TODO&lt;br /&gt;
&lt;br /&gt;
Parameters: See makeInvokeFunc() for documentation.&lt;br /&gt;
--]]&lt;br /&gt;
function p._getCharacterShortDescription(frame, args)&lt;br /&gt;
	return getShortDescription(frame, args, &amp;quot;character&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.getRaceShortDescription = makeInvokeFunc(&amp;#039;_getRaceShortDescription&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which is used to TODO&lt;br /&gt;
&lt;br /&gt;
Parameters: See makeInvokeFunc() for documentation.&lt;br /&gt;
--]]&lt;br /&gt;
function p._getRaceShortDescription(frame, args)&lt;br /&gt;
	return getShortDescription(frame, args, &amp;quot;race&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Gonnym</name></author>
	</entry>
</feed>