Template:Ep
local p = {} -- function to retrieve and format the episode name function p.ep(frame) -- convert the input into the standardized epCode
local ep = frame.args[1]
local epMatcher = require('Module:Ep/Matcher')
local epCode = epMatcher.matchCode(ep)
-- error message if code doesn't exist
if epCode == '0x00' then
local errorMsg = "Undefined Episode"
local title = mw.title.getCurrentTitle()
local namespace = title.namespace
local subpageText = title.subpageText
if namespace == 0 then errorMsg = errorMsg .. "" elseif subpageText == 'test' or subpageText == 'testcases' then errorMsg = errorMsg .. " would be in Category:Ep calls to undefined episodes" end return errorMsg end -- get the title and pagename for that epCode local epInfo = require('Module:Ep/Info') local epName = epInfo.title(epCode) local pageName = epInfo.pagename(epCode) -- epCode (w/special formatting, if any) local epCodeFormatted = epInfo.epCodeFormatted(epCode) -- formatting with the various parameters of local p = {}
-- function to retrieve and format the episode name function p.ep(frame) -- convert the input into the standardized epCode
local ep = frame.args[1]
local epMatcher = require('Module:Ep/Matcher')
local epCode = epMatcher.matchCode(ep)
-- error message if code doesn't exist
if epCode == '0x00' then
local errorMsg = "Undefined Episode"
local title = mw.title.getCurrentTitle()
local namespace = title.namespace
local subpageText = title.subpageText
if namespace == 0 then errorMsg = errorMsg .. "" elseif subpageText == 'test' or subpageText == 'testcases' then errorMsg = errorMsg .. " would be in Category:Ep calls to undefined episodes" end return errorMsg end -- get the title and pagename for that epCode local epInfo = require('Module:Ep/Info') local epName = epInfo.title(epCode) local pageName = epInfo.pagename(epCode) -- epCode (w/special formatting, if any) local epCodeFormatted = epInfo.epCodeFormatted(epCode) -- formatting with the various parameters of Template loop detected: Template:Ep local text = frame.args["text"] or nil local nolink = frame.args["nolink"] or nil local plain = frame.args["plain"] or nil local hide = frame.args["hide"] or nil local noshow = frame.args["noshow"] or nil local epValue if pageName:find("Talks Machina Special") and exists(noshow) then epName = split(pageName, ': ')[2] elseif pageName:find("Talks Machina") and exists(noshow) then epName = pageName:gsub('Talks Machina ', '#') elseif exists(noshow) then epName = pageName end
if exists(text) then
epValue = pageName .. "|" .. text
elseif pageName ~= epName and not exists(nolink) then
epValue = pageName .. '|' .. epName
elseif exists(nolink) then epValue = epName
else epValue = pageName end
if exists(nolink) then epValue = epValue else epValue = "" .. epValue .. "" end
if not exists(plain) then epValue = '"' .. epValue .. '"' end local fullEpValue = epValue .. ' ' .. epCodeFormatted if exists(hide) then return epValue else return fullEpValue end
end
--function to determine if a string is empty function exists(s)
return s ~= nil and s ~=
end
-- function to split a string at a specified character function split(s, delimiter)
result = {}; for match in (s..delimiter):gmatch("(.-)"..delimiter) do table.insert(result, match); end return result;
end
return p
local text = frame.args["text"] or nil local nolink = frame.args["nolink"] or nil local plain = frame.args["plain"] or nil local hide = frame.args["hide"] or nil local noshow = frame.args["noshow"] or nil local epValue if pageName:find("Talks Machina Special") and exists(noshow) then epName = split(pageName, ': ')[2] elseif pageName:find("Talks Machina") and exists(noshow) then epName = pageName:gsub('Talks Machina ', '#') elseif exists(noshow) then epName = pageName end
if exists(text) then
epValue = pageName .. "|" .. text
elseif pageName ~= epName and not exists(nolink) then
epValue = pageName .. '|' .. epName
elseif exists(nolink) then epValue = epName
else epValue = pageName end
if exists(nolink) then epValue = epValue else epValue = "" .. epValue .. "" end
if not exists(plain) then epValue = '"' .. epValue .. '"' end local fullEpValue = epValue .. ' ' .. epCodeFormatted if exists(hide) then return epValue else return fullEpValue end
end
--function to determine if a string is empty function exists(s)
return s ~= nil and s ~=
end
-- function to split a string at a specified character function split(s, delimiter)
result = {}; for match in (s..delimiter):gmatch("(.-)"..delimiter) do table.insert(result, match); end return result;
end
return p