Module:CricketLeagueProgression and Module:CricketLeagueProgression/sandbox: Difference between pages
Appearance
(Difference between pages)
Content deleted Content added
Added values for The Hundred (cricket) |
Jackmcbarn (talk | contribs) sync |
||
Line 58: | Line 58: | ||
end |
end |
||
cricmatch. |
cricmatch.render = function(m, row, team, points) |
||
local cell = row:tag('td') |
|||
local opponent = home and m.away or m.home |
|||
local home = m.home == team |
|||
local title = string.format('vs. %s (%s)', opponent.fullName, venue) |
|||
if m.result ~= 'H' and m.result ~= 'A' then |
|||
return title |
|||
end |
|||
local vs = home and m.away or m.home |
|||
local marginText = (m.result == 'H' and home or |
|||
local venue = home and 'H' or 'A' |
|||
cell:attr('title', string.format('vs. %s (%s)', vs.fullName, venue)) |
|||
if m.margin == 'F' then |
|||
marginText = marginText .. "forfeit" |
|||
elseif m.margin == 'SO' then |
|||
marginText = marginText .. "Super Over" |
|||
else |
|||
local n = tonumber(string.sub(m.margin, 1, -2)) |
|||
local t = string.upper(string.sub(m.margin, -1, -1)) |
|||
if t == 'R' then |
|||
marginText = marginText .. "%d run" |
|||
elseif t == 'W' then |
|||
marginText = marginText .. "%d wicket" |
|||
elseif t == 'I' then |
|||
marginText = marginText .. "an innings and %d run" |
|||
end |
|||
if marginText and n then |
|||
marginText = string.format(marginText, n) |
|||
if n > 1 then marginText = marginText .. "s" end |
|||
end |
|||
if m.dl then |
|||
marginText = marginText |
|||
.. ' (' .. m.dl .. ')' |
|||
end |
|||
end |
|||
return marginText .. ' ' .. title |
|||
end |
|||
local result = m.result |
|||
cricmatch.render = function(m, row, team, points) |
|||
local gained = 0 |
|||
if m.result == 'H' then |
|||
local home = m.home == team |
|||
result = home and 'W' or 'L' |
|||
local span = cell:tag('span'):attr('title', m.title(home)) |
|||
gained = home and 2 or 0 |
|||
elseif m.result == 'A' then |
|||
result = home and 'L' or 'W' |
|||
local gained = 0 |
|||
gained = home and 0 or 2 |
|||
if m.result == 'H' then |
|||
elseif m.result == 'N' or m.result == 'T' then |
|||
gained = 1 |
|||
else |
|||
elseif m.result == 'A' then |
|||
cell |
|||
result = home and 'L' or 'W' |
|||
:css('background-color', colours.X) |
|||
gained = home and 0 or 2 |
|||
:attr('class', classes.X) |
|||
elseif m.result == 'N' or m.result == 'T' then |
|||
:wikitext(string.format('[[#match%d|?]]', m.id)) |
|||
gained = 1 |
|||
return points |
|||
else |
|||
end |
|||
cell |
|||
:css('background-color', colours.X) |
|||
:attr('class', classes.X) |
|||
span:wikitext(string.format('[[#match%d|?]]', m.id)) |
|||
return points |
|||
end |
|||
points = points + gained |
|||
cell |
|||
cell:css('background-color', colours[result]) |
|||
:css('background-color', colours[result]) |
|||
span:wikitext(string.format('[[#match%d|%d]]', m.id, points)) |
|||
:wikitext(string.format('[[#match%d|%d]]', m.id, points)) |
|||
if classes[cell] then cell:attr('class', classes[cell]) end |
|||
if classes[cell] then cell:attr('class', classes[cell]) end |
|||
return points |
|||
return points |
|||
end |
end |
||
Line 184: | Line 152: | ||
local matches = {} |
local matches = {} |
||
local home, away, result, margin, dl |
local home, away, result, margin, dl |
||
local dlText = args.dls == 'Y' and 'DLS' or 'D/L' |
|||
while args[i * 5 + 5] do |
while args[i * 5 + 5] do |
||
home = teams[trim(args[i * 5 + 1])] |
home = teams[trim(args[i * 5 + 1])] |
||
Line 191: | Line 158: | ||
margin = args[i * 5 + 4] |
margin = args[i * 5 + 4] |
||
dl = args[i * 5 + 5] == "Y" |
dl = args[i * 5 + 5] == "Y" |
||
match = createMatch(m, home, away, result, margin, dl |
match = createMatch(m, home, away, result, margin, dl) |
||
if match then |
if match then |
||
table.insert(matches, match) |
table.insert(matches, match) |
||
Line 328: | Line 295: | ||
wrapper:tag('div'):css('clear', 'left') |
wrapper:tag('div'):css('clear', 'left') |
||
return tostring(wrapper) |
return tostring(wrapper) |
||
end |
|||
p.ICC = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:ICC teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
return p.create(args, teamsAssoc) |
|||
end |
end |
||
p.IPL = function(frame) |
p.IPL = function(frame) |
||
local args = getArgs(frame) |
local args = getArgs(frame) |
||
local teams = mw.loadData("Module: |
local teams = mw.loadData("Module:IndianPremierLeague/Teams") |
||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier 1', abbr = 'Q1', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Eliminator', abbr = 'E', matches = { |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.IPL_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Indian Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.WPL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Women's Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Eliminator', abbr = 'E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.LPL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Lanka Premier League teams") |
|||
local teamsAssoc = {} |
local teamsAssoc = {} |
||
local i = 1 |
local i = 1 |
||
Line 433: | Line 321: | ||
end |
end |
||
p. |
p.IPL_SF = function(frame) |
||
local args = getArgs(frame) |
local args = getArgs(frame) |
||
local teams = mw.loadData("Module: |
local teams = mw.loadData("Module:IndianPremierLeague/Teams") |
||
local teamsAssoc = {} |
local teamsAssoc = {} |
||
local i = 1 |
local i = 1 |
||
Line 452: | Line 340: | ||
} |
} |
||
return p.create(args, teamsAssoc, "Knockout", knockout) |
return p.create(args, teamsAssoc, "Knockout", knockout) |
||
end |
|||
p.ILT20 = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:International League T20 teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier 1 or Eliminator', abbr = 'Q1/E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.ILT20_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:International League T20 teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.BBL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Big Bash League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier or Knockout', abbr = 'Q/K', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Challenger', abbr = 'C', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.BBL_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Big Bash League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Eliminator', abbr = 'E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Qualifier or Knockout', abbr = 'Q/K', matches = { |
|||
{ winner = args.P2W, loser = args.P2L }, |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Challenger', abbr = 'C', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P5W, loser = args.P5L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.WBBL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = { |
|||
{ |
|||
code = "ADS", |
|||
fullName = "Adelaide Strikers", |
|||
shortName = "Strikers", |
|||
pageName = "Adelaide Strikers (WBBL)", |
|||
startYear = 2015, |
|||
}, |
|||
{ |
|||
code = "BRH", |
|||
fullName = "Brisbane Heat", |
|||
shortName = "Heat", |
|||
pageName = "Brisbane Heat (WBBL)", |
|||
startYear = 2015, |
|||
}, |
|||
{ |
|||
code = "HBH", |
|||
fullName = "Hobart Hurricanes", |
|||
shortName = "Hurricanes", |
|||
pageName = "Hobart Hurricanes (WBBL)", |
|||
startYear = 2015, |
|||
}, |
|||
{ |
|||
code = "MLR", |
|||
fullName = "Melbourne Renegades", |
|||
shortName = "Renegades", |
|||
pageName = "Melbourne Renegades (WBBL)", |
|||
startYear = 2015, |
|||
}, |
|||
{ |
|||
code = "MLS", |
|||
fullName = "Melbourne Stars", |
|||
shortName = "Stars", |
|||
pageName = "Melbourne Stars (WBBL)", |
|||
startYear = 2015, |
|||
}, |
|||
{ |
|||
code = "PRS", |
|||
fullName = "Perth Scorchers", |
|||
shortName = "Scorchers", |
|||
pageName = "Perth Scorchers (WBBL)", |
|||
startYear = 2015, |
|||
}, |
|||
{ |
|||
code = "SYS", |
|||
fullName = "Sydney Sixers", |
|||
shortName = "Sixers", |
|||
pageName = "Sydney Sixers (WBBL)", |
|||
startYear = 2015, |
|||
}, |
|||
{ |
|||
code = "SYT", |
|||
fullName = "Sydney Thunder", |
|||
shortName = "Thunder", |
|||
pageName = "Sydney Thunder (WBBL)", |
|||
startYear = 2015, |
|||
} |
|||
} |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Knockout', abbr = 'K', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Challenger', abbr = 'C', matches = { |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.SA20 = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = { |
|||
{ |
|||
code = "MICT", |
|||
fullName = "MI Cape Town", |
|||
shortName = "Cape Town", |
|||
pageName = "MI Cape Town", |
|||
startYear = 2023, |
|||
}, |
|||
{ |
|||
code = "DSG", |
|||
fullName = "Durban's Super Giants", |
|||
shortName = "Durban", |
|||
pageName = "Durban's Super Giants", |
|||
startYear = 2023, |
|||
}, |
|||
{ |
|||
code = "JSK", |
|||
fullName = "Joburg Super Kings", |
|||
shortName = "Johannesburg", |
|||
pageName = "Joburg Super Kings", |
|||
startYear = 2023, |
|||
}, |
|||
{ |
|||
code = "PR", |
|||
fullName = "Paarl Royals", |
|||
shortName = "Paarl", |
|||
pageName = "Paarl Royals", |
|||
startYear = 2023, |
|||
}, |
|||
{ |
|||
code = "PC", |
|||
fullName = "Pretoria Capitals", |
|||
shortName = "Pretoria", |
|||
pageName = "Pretoria Capitals", |
|||
startYear = 2023, |
|||
}, |
|||
{ |
|||
code = "SEC", |
|||
fullName = "Sunrisers Eastern Cape", |
|||
shortName = "Eastern Cape", |
|||
pageName = "Sunrisers Eastern Cape", |
|||
startYear = 2023, |
|||
} |
|||
} |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier 1 or Eliminator', abbr = 'Q1/E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.PSL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:PakistanSuperLeagueTeams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Eliminator 1 or Qualifier', abbr = 'E1/Q', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Eliminator 2', abbr = 'E2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.PSL_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:PakistanSuperLeagueTeams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.BPL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Bangladesh Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier 1 or Eliminator', abbr = 'Q1/E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.BPL_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Bangladesh Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.CPL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Caribbean Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Eliminator', abbr = 'E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Qualifier 1', abbr = 'Q1', matches = { |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.CPL_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Caribbean Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.MLC = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Major League Cricket teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier or Eliminator', abbr = 'Q/E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Challenger', abbr = 'C', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.MLC_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Major League Cricket teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.NPL = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Nepal Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Eliminator', abbr = 'E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Qualifier 1', abbr = 'Q1', matches = { |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.NPL_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Nepal Premier League teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.GT20 = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = { |
|||
{ |
|||
code = "BW", |
|||
fullName = "Brampton Wolves", |
|||
shortName = "Brampton", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2019, |
|||
}, |
|||
{ |
|||
code = "BTM", |
|||
fullName = "Bangla Tigers Mississauga", |
|||
shortName = "Bangla", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2024, |
|||
}, |
|||
{ |
|||
code = "ER", |
|||
fullName = "Edmonton Royals", |
|||
shortName = "Edmonton", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2018, |
|||
endYear = 2019, |
|||
}, |
|||
{ |
|||
code = "MP", |
|||
fullName = "Mississauga Panthers", |
|||
shortName = "Mississauga", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2023, |
|||
endYear = 2023, |
|||
}, |
|||
{ |
|||
code = "MT", |
|||
fullName = "Montreal Tigers", |
|||
shortName = "Montreal", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2018, |
|||
}, |
|||
{ |
|||
code = "SJ", |
|||
fullName = "Surrey Jaguars", |
|||
shortName = "Surrey", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2023, |
|||
}, |
|||
{ |
|||
code = "TN", |
|||
fullName = "Toronto Nationals", |
|||
shortName = "Toronto", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2018, |
|||
}, |
|||
{ |
|||
code = "VK", |
|||
fullName = "Vancouver Knights", |
|||
shortName = "Vancouver", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2018, |
|||
}, |
|||
{ |
|||
code = "WIB", |
|||
fullName = "West Indies B", |
|||
shortName = "West Indies B", |
|||
pageName = "West Indies B cricket team", |
|||
startYear = 2018, |
|||
endYear = 2018, |
|||
}, |
|||
{ |
|||
code = "WH", |
|||
fullName = "Winnipeg Hawks", |
|||
shortName = "Winnipeg", |
|||
pageName = "Global T20 Canada#Teams", |
|||
startYear = 2018, |
|||
endYear = 2019, |
|||
} |
|||
} |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier 1 or Eliminator', abbr = 'Q1/E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.ADT10 = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Abu Dhabi T10 teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Qualifier 1 or Eliminator', abbr = 'Q1/E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L }, |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}}, |
|||
{ name = 'Qualifier 2', abbr = 'Q2', matches = { |
|||
{ winner = args.P3W, loser = args.P3L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P4W, loser = args.P4L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.ADT10_SF = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:Abu Dhabi T10 teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local knockout = { |
|||
{ name = 'Semi-finals', abbr = 'SF', matches = { |
|||
{ winner = args.SF1W, loser = args.SF1L }, |
|||
{ winner = args.SF2W, loser = args.SF2L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.FW, loser = args.FL } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Knockout", knockout) |
|||
end |
|||
p.M100 = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:The Hundred teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Eliminator', abbr = 'E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
|||
p.W100 = function(frame) |
|||
local args = getArgs(frame) |
|||
local teams = mw.loadData("Module:The Hundred teams") |
|||
local teamsAssoc = {} |
|||
local i = 1 |
|||
while teams[i] do |
|||
teamsAssoc[teams[i].code] = teams[i] |
|||
i = i + 1 |
|||
end |
|||
local playoffs = { |
|||
{ name = 'Eliminator', abbr = 'E', matches = { |
|||
{ winner = args.P1W, loser = args.P1L } |
|||
}}, |
|||
{ name = 'Final', abbr = 'F', matches = { |
|||
{ winner = args.P2W, loser = args.P2L } |
|||
}} |
|||
} |
|||
return p.create(args, teamsAssoc, "Playoffs", playoffs) |
|||
end |
end |
||