Module:Bracket Explained

local p =

p['_teamBracket'] = function (frame, template, subs, args) -- figure out parameters from template name args.rounds = args.rounds or mw.ustring.match(template or , "^(%d*)Round") if not args.rounds then local teams = tonumber(mw.ustring.match(template or , "^(%d*)Team")) if teams and teams > 1 then -- log2(teams) is the number of rounds args.rounds = math.ceil(math.log(teams)/math.log(2)) end end local tennis = mw.ustring.match(template or , "-Tennis(%d*)") local squash = mw.ustring.match(template or , "-Squash(%d*)") if tennis or squash then args.sets = args.sets or tennis or squash args.seeds = args.seeds or 'yes' args.nowrap = args.nowrap or 'yes' end if string.find(template, "-Compact") then args.compact = args.compact or 'yes' end -- overwrite defaults with frame args and alternative args for k, v in pairs(frame.args) do if subs[k] then args[subs[k]] = v else args[k] = v end end --return template return require('Module:Team bracket').main(frame:newChild)end

p['2TeamBracket'] = function (frame) return p._teamBracket(frame, '2TeamBracket',,)end

p['4TeamBracket'] = function (frame) return p._teamBracket(frame, '4TeamBracket',,)end

p['4TeamBracket-Tennis3'] = function (frame) return p._teamBracket(frame, '4TeamBracket-Tennis3',,)end

p['4TeamBracket-Tennis5'] = function (frame) return p._teamBracket(frame, '4TeamBracket-Tennis5',,)end

p['4TeamBracket-Tennis35'] = function (frame) return p._teamBracket(frame, '4TeamBracket-Tennis35',,)end

p['6TeamBracket'] = function (frame) stepdown = require('Module:yesno')(frame.args.stepdown) return p._teamBracket(frame, '6TeamBracket',,)end

p['7TeamBracket'] = function (frame) return p._teamBracket(frame, '7TeamBracket',,)end

p['8TeamBracket'] = function (frame) return p._teamBracket(frame, '8TeamBracket',,)end

p['8TeamBracket-Byes'] = function (frame) return p._teamBracket(frame, '8TeamBracket-Byes',,)endp['3RoundBracket-Byes'] = p['8TeamBracket-Byes']

p['8TeamBracket-Compact-Byes'] = function (frame) return p._teamBracket(frame, '8TeamBracket-Compact-Byes',,)end

p['8TeamBracket-Compact-NoSeeds-Byes'] = function (frame) return p._teamBracket(frame, '8TeamBracket-Compact-NoSeeds-Byes',,)end

p['8TeamBracket-Tennis3'] = function (frame) return p._teamBracket(frame, '8TeamBracket-Tennis3',,)end

p['8TeamBracket-Tennis5'] = function (frame) return p._teamBracket(frame, '8TeamBracket-Tennis5',,)end

p['16TeamBracket'] = function (frame) return p._teamBracket(frame, '16TeamBracket',,)end

p['16TeamBracket-Byes'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Byes',,)endp['4RoundBracket-Byes'] = p['16TeamBracket-Byes']

p['16TeamBracket-Tennis3'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Tennis3',,)end

p['16TeamBracket-Compact-NoSeeds-Byes'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Compact-NoSeeds-Byes',,)end

p['16TeamBracket-Compact-Tennis3'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Compact-Tennis3',,)end

p['16TeamBracket-Compact-Tennis3-Byes'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Compact-Tennis3-Byes',,)endp['4RoundBracket-Compact-Tennis3-Byes'] = p['16TeamBracket-Compact-Tennis3-Byes']

p['16TeamBracket-Compact-Archery'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Compact-Archery',,)end

p['16TeamBracket-Tennis5'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Tennis5',,)end

p['16TeamBracket-Compact-Tennis5'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Compact-Tennis5',,)end

p['16TeamBracket-Compact-Tennis5-Byes'] = function (frame) return p._teamBracket(frame, '16TeamBracket-Compact-Tennis5-Byes',,)endp['4RoundBracket-Compact-Tennis5-Byes'] = p['16TeamBracket-Compact-Tennis5-Byes']

p['32TeamBracket'] = function (frame) return p._teamBracket(frame, '32TeamBracket',,)end

p['32TeamBracket-Byes'] = function (frame) return p._teamBracket(frame, '32TeamBracket-Byes',,)end

p['32TeamBracket-Compact-NoSeeds-Byes'] = function (frame) return p._teamBracket(frame, '32TeamBracket-Compact-NoSeeds-Byes',,)end

p['32TeamBracket-Compact-Squash5'] = function (frame) return p._teamBracket(frame, '32TeamBracket-Compact-Squash5',,)end

p['32TeamBracket-Compact-Tennis3'] = function (frame) return p._teamBracket(frame, '32TeamBracket-Compact-Tennis3',,)end

p['32TeamBracket-Tennis3'] = function (frame) return p._teamBracket(frame, '32TeamBracket-Tennis3',,)end

p['64TeamBracket'] = function (frame) return p._teamBracket(frame, '64TeamBracket',,)end

p['list'] = function (frame) local funcs=

for k,_ in pairs(p) do if string.match(k, "^%d+Team") then table.insert(funcs, k) end end table.sort(funcs, function (a,b) na, nb = tonumber(string.match(a, "^%d+")), tonumber(string.match(b, "^%d+")) return na

nb and string.match(a, "^%d*(.*)$") < string.match(b, "^%d*(.*)$") or na < nb end) return frame.preprocess(frame, "\n* \n* ")end

p['doc'] = function (frame) local pagename = mw.title.getCurrentTitle.rootText if type(p[pagename])

"function" then return frame.preprocess(frame, " can be " .. "replaced with .") end return frame.preprocess(frame, "In most cases, the name of the bracket " .. "template can be used as the function name for, e.g. " .. "→" .. ".")end

return p