[checked revision] | [checked revision] |
(Aligning page content across wikis) Â |
m (Protected "Module:Team": Aligning page content across wikis ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
Revision as of 01:29, 20 March 2018
Documentation for this module may be created at Module:Team/doc
local p = {}
function p.team ( frame )
local args = frame
local text = ''
if frame == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
else
frame = mw.getCurrentFrame()
end
local teaminput = mw.ustring.lower(args[1] or '')
local teamstyle = mw.ustring.lower(args[2] or 'default')
local size = args['size']
local exceptionCases = mw.loadData( 'Module:Teamexceptions' )
--Empty
if not args[1] or args[1] == '' then
return ''
--Special Cases
elseif exceptionCases[teaminput] then
exception = exceptionCases[teaminput]
tstyles = mw.loadData( 'Module:Teamexceptionstyles' )
text = tstyles[teamstyle]
if not size then
text = text:gsub("REPLACESIZE","")
else
text = text:gsub("REPLACESIZE(%d+)px",size)
end
text = text:gsub("REPLACE(%u+)", { ["TEXT"] = exception["text"], ["SHORT"] = exception["text"], ["FILE"] = exception["image"], ["TITLE"] = exception["hover"] })
return text
-- Normal Teams
else
local tnames = mw.loadData( 'Module:Teamnames' )
local namevars = tnames[teaminput]
local logo = ""
if not namevars then
namevars = {link = args[1], long = args[1], medium = args[1], short = args['short'] or args[1] }
elseif type(namevars) == 'string' then
namevars = tnames[namevars]
logo = namevars.link:gsub("+", " ")
else
logo = namevars.link:gsub("+", " ")
end
local tstyles = mw.loadData('Module:Teamstyles')
text = tstyles[teamstyle]
if not size then
text = text:gsub("REPLACESIZE","")
else
text = text:gsub("REPLACESIZE(%d+)px",size)
end
text = text:gsub("REPLACE(%u+)", { ["LINK"] = namevars.link, ["LONG"] = namevars.long, ["MEDIUM"] = namevars.medium, ["SHORT"] = namevars.short, ["FILE"] = logo })
return text
end
end
return p