Module:TeamImage

local p = {}

function p.teamImage ( frame ) local args = frame if frame == mw.getCurrentFrame then args = require( 'Module:ProcessArgs').norm else frame = mw.getCurrentFrame end -- Everything above here is just to make the module know what arguments it has local tnames = mw.loadData( 'Module:Teamnames' ) -- Teamnames is where all of the data is stored local userinput = mw.ustring.lower(args[1] or '') -- Just define a new variable that's either the user's team input or an empty string, but lowercase local size = args['size'] or '123px' -- Default the size to 123px unless the user input something else local namevars = tnames[userinput] -- so we go through tnames (Module:Teamnames) and try to find the user's input there local logo = '' -- Default the logo to be the empty string for now if not namevars then -- namvars won't exist if userinput isn't located in Module:Teamnames link = '' -- in this case make the link empty string too elseif type(namevars) == 'string' then -- If we found a string, e.g. tsm = "team solomid" then the user gave us a shortname namevars = tnames[namevars] -- so now look up with the new input, which is actually the correct one, in tnames logo = namevars.link:gsub("+", " ") -- + is an unallowed character in filenames, so e.g. Szef+6 needs to be changed to Szef 6 link = namevars.link -- link becomes the link variable else -- in this case namevars is actually a table, so we have the right thing logo = namevars.link:gsub("+", " ") -- again, + is an unallowed character link = namevars.link -- let the link be the right thing end local text = '' -- so if logo is empty string, we just give the file logo square.png; and if link is empty string, it won't link to anything. Otherwise it'll be the right thing. return text -- return the logo end

return p