Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Sports table/Stv1
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- Style for vb tables local pp = {} function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local bw_p = tonumber(Args['bwp']) or 3 local sw_p = tonumber(Args['swp']) or 2 local sl_p = tonumber(Args['slp']) or 1 local bl_p = tonumber(Args['blp']) or 0 -- Get some input local bw = tonumber(Args['bw_'..team_code_ii]) or 0 local sw = tonumber(Args['sw_'..team_code_ii]) or 0 local bl = tonumber(Args['bl_'..team_code_ii]) or 0 local sl = tonumber(Args['sl_'..team_code_ii]) or 0 local setsw = tonumber(Args['setsw_'..team_code_ii]) or 0 local setsl = tonumber(Args['setsl_'..team_code_ii]) or 0 local setpw = tonumber(Args['spw_'..team_code_ii]) or 0 local setpl = tonumber(Args['spl_'..team_code_ii]) or 0 local sa_pts = tonumber(Args['saadjust_points_'..team_code_ii]) or tonumber(Args['startpoints_'..team_code_ii]) or 0 local hth_local = Args['hth_'..team_code_ii] or nil -- Then calculate some values local points = bw_p*bw + sw_p*sw + sl_p*sl + bl_p*bl + sa_pts local wins = bw + sw local losses = bl + sl -- Optional automatic calculation of wins, losses, sets won, and sets lost local auto_sets = false for k=3,5 do local wink = tonumber(Args['w'..k..'s_'..team_code_ii]) or 0 local lossk = tonumber(Args['l'..k..'s_'..team_code_ii]) or 0 if (wk > 0) or (lk > 0) then auto_sets = true end wins = wins + wk setsw= setsw + 3*wk setsl = setsl + (k-3)*wk points = points + ((k == 5) and sw_p or bw_p)*wk losses = losses + lk setsl= setsl + 3*lk setsw = setsw + (k-3)*lk points = points + ((k == 5) and sl_p or bl_p)*lk end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local ranking_style = Args['ranking_style'] or 'wins' local win_fw, win_string, pts_fw, pts_string ranking_style = string.lower(ranking_style) if ranking_style=='p' or ranking_style=='pts' or ranking_style=='points' then -- Based on points win_fw=ii_fw win_string = '' pts_fw = 'font-weight: bold;' pts_string = hth_string else -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string pts_fw=ii_fw pts_string = '' end -- Show games played, sets, and setpoints local show_played = yesno(Args['hide_played'] or 'no') and false or true local show_sets = yesno(Args['show_sets'] or 'yes') local show_setpoints = yesno(Args['show_setpoints'] or 'yes') local setpoints_first = yesno(Args['setpoints_before_sets'] or 'no') -- Set ratio local sratio if setslost == 0 then sratio = setswon > 0 and 'MAX' or '—' else sratio = mm._precision_format(setswon / setslost, 3) end -- Setpoint ratio local spratio if setpointslost == 0 then spratio = setpointswon > 0 and 'MAX' or '—' else spratio = mm._precision_format(setpointswon / setpointslost, 3) end -- Now that we are done calculating, show actual input values if tonumber(Args['bw_'..team_code_ii] or 0) == nil or tonumber(Args['sw_'..team_code_ii] or 0) == nil then wins = '—' end if tonumber(Args['bl_'..team_code_ii] or 0) == nil or tonumber(Args['sl_'..team_code_ii] or 0) == nil then losses = '—' end local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end if auto_sets == false then setsw = numorval(Args['setsw_'..team_code_ii]) setsl = numorval(Args['setsl_'..team_code_ii]) end setpw = numorval(Args['spw_'..team_code_ii]) setpl = numorval(Args['spl_'..team_code_ii]) -- Row building if full_table then table.insert(t,'| style="'..win_fw..bg_col..'" |'..wins..win_string..'\n') -- Won table.insert(t,'| style="'..ii_fw..bg_col..'" |'..losses..'\n') -- Lost end if points<0 then table.insert(t,'| style="'..pts_fw..bg_col..'" | −'..-points..pts_string..'\n') else table.insert(t,'| style="'..pts_fw..bg_col..'" | '..points..pts_string..'\n') end if full_table then if setpoints_first then if show_setpoints then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setpointswon..'\n') -- SPW table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setpointslost..'\n') -- SPL table.insert(t,'| style="'..ii_fw..bg_col..'" |'..spratio..'\n') -- Setpoint ratio end if show_sets then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setswon..'\n') -- SW table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setslost..'\n') -- SL table.insert(t,'| style="'..ii_fw..bg_col..'" |'..sratio..'\n') -- Set ratio end else if show_sets then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setswon..'\n') -- SW table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setslost..'\n') -- SL table.insert(t,'| style="'..ii_fw..bg_col..'" |'..sratio..'\n') -- Set ratio end if show_setpoints then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setpointswon..'\n') -- SPW table.insert(t,'| style="'..ii_fw..bg_col..'" |'..setpointslost..'\n') -- SPL table.insert(t,'| style="'..ii_fw..bg_col..'" |'..spratio..'\n') -- Setpoint ratio end end end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advances to a further round', C='Champion', D='Disqualified', E='Eliminated', H='Host', O='Play-off winner', P='Promoted', Q='Qualified to the phase indicated', R='Relegated', T='Qualified, but not yet to the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Error
(
edit
)
Template:Module other
(
edit
)
Template:Module rating
(
edit
)
Template:Ombox
(
edit
)
Template:Sandbox other
(
edit
)
Module:Arguments
(
edit
)
Module:Error
(
edit
)
Module:Message box
(
edit
)
Module:Message box/configuration
(
edit
)
Module:Message box/ombox.css
(
edit
)
Module:Sports table/Stv1/doc
(
edit
)
Module:String
(
edit
)
Module:Yesno
(
edit
)