Module:TeamCard/Qualifier
From TwogPedia
Documentation for this module may be created at Module:TeamCard/Qualifier/doc
local Class = require('Module:Class')
local Variables = require('Module:Variables')
local Qualifier = {}
-- Returns the tuple (linkText, linkInternal, linkExternal)
-- Link internal and link external is mutually exclusive
function Qualifier.parseQualifier(rawQualifier)
if not rawQualifier then
return nil
end
local cleanQualifier = rawQualifier:gsub('%[', ''):gsub('%]', '')
if cleanQualifier:find('|') then
-- Internal link
local qualifier = mw.text.split(cleanQualifier, '|', true)
local qualifierLink, qualifierText = qualifier[1], qualifier[2]
if qualifierLink:sub(1, 1) == '/' then
-- Relative link
qualifierLink = mw.title.getCurrentTitle().fullText .. qualifierLink
end
qualifierLink = qualifierLink:gsub(' ', '_')
return qualifierText, qualifierLink, nil
elseif rawQualifier:sub(1, 1) == '[' then
-- Not internal link, but a link -> must be external link
local qualifier = mw.text.split(cleanQualifier, ' ', true)
local qualifierLink = qualifier[1]
table.remove(qualifier, 1)
local qualifierText = table.concat(qualifier, ' ')
return qualifierText, nil, qualifierLink
else
-- Just text
return rawQualifier, nil, nil
end
end
-- Wrapper function for parseQualifier that will set wikivariables instead of return values.
-- Useful for Templates.
function Qualifier.parseQualifierSetVariables(rawQualifier)
local text, internal, external = Qualifier.parseQualifier(rawQualifier)
Variables.varDefine('tc_temp_qualifier_text', text)
Variables.varDefine('tc_temp_qualifier_internal', internal)
Variables.varDefine('tc_temp_qualifier_external', external)
end
function Qualifier.parseQualifierCleanVariables()
Variables.varDefine('tc_temp_qualifier_text', nil)
Variables.varDefine('tc_temp_qualifier_internal', nil)
Variables.varDefine('tc_temp_qualifier_external', nil)
end
return Class.export(Qualifier, {frameOnly = true})
No categories