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:Sandbox/B2project/WLT
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 football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = '' local sort_table_val = Args['sortable_table'] or 'no' if yesno(sort_table_val) then sort_text = 'sortable' end table.insert(t,'{|class="wikitable '..sort_text..'" style="text-align:center;"\n') -- Open table -- Custom header options -- Table header local table_header = Args['table_header'] if table_header then table.insert(t,'|+'..table_header..'\n') end --Column headers local pld_head_text = Args['pld_header'] or '<abbr title="Played">Pld</abbr>' local OTloss_head_text = Args['OTloss_header'] or '<abbr title="Lost in overtime">OTL</abbr>' local tiebr_head_text = Args['tiebr_header'] or '<abbr title="Tiebreaker">TBR</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' else fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' end -- Whether to use goal ratio (goal average) instead local use_ratio_val = Args['use_goal_ratio'] or 'no' local do_ratio = false -- True if exist, false otherwise if yesno(use_ratio_val) then do_ratio = true end -- Whether to use tiebreak local use_tiebr_val = Args['use_tiebreak'] or 'yes' local do_tiebr = false if yesno(use_tiebr_val) then do_tiebr = true end -- Ties and OTL local use_tieOTL_val = Args['use_ties'] or 'no' local do_ties = false if yesno(use_tieOTL_val) then do_ties = true end -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers tt = p_sub.colhead(tt,32,pos_label) -- Position col -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,32,group_head_text) -- Group/division col end tt = p_sub.colhead(tt,team_width,'Team'..VTE_text) -- Team col tt = p_sub.colhead(tt,32,pld_head_text) -- Matches played col if full_table then tt = p_sub.colhead(tt,32,'<abbr title="Won">W</abbr>') -- Win col tt = p_sub.colhead(tt,32,'<abbr title="Lost">L</abbr>') -- Loss col if do_ties then tt = p_sub.colhead(tt,32,'<abbr title="Ties">T</abbr>') -- Ties end tt = p_sub.colhead(tt,32,OTloss_head_text) if do_tiebr then tt = p_sub.colhead(tt,32,tiebr_head_text) end tt = p_sub.colhead(tt,32,'<abbr title="'..fa_word_plur..' for">'..fa_letter..'F</abbr>') -- For col tt = p_sub.colhead(tt,32,'<abbr title="'..fa_word_plur..' against">'..fa_letter..'A</abbr>') -- Against col if not do_ratio then tt = p_sub.colhead(tt,32,'<abbr title="'..fa_word_sing..' difference">'..fa_letter..'D</abbr>') -- Difference col else tt = p_sub.colhead(tt,36,'<abbr title="'..fa_word_sing..' ratio">'..fa_letter..'R</abbr>') -- Ratio col end end tt = p_sub.colhead(tt,32,'<abbr title="Points">Pts</abbr>') -- Points col if full_table then tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end 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 win_points = tonumber(Args['winpoints']) or 2 local loss_points = tonumber(Args['losspoints']) or 0 local OTloss_points = tonumber(Args['OTlosspoints']) or 1 local ties_points = tonumber(Args['tiepoints']) or 1 -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local OTlosses = tonumber(Args['OTloss_'..team_code_ii]) or 0 local ties = tonumber(Args['ties_'..team_code_ii]) or 0 local tiebr_val = tonumber(Args['tiebr_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii]) or tonumber(Args['pf_'..team_code_ii]) or 0 local gaig = tonumber(Args['ga_'..team_code_ii]) or tonumber(Args['pa_'..team_code_ii]) or 0 local s_pts = tonumber(Args['adjust_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 matches = wins + losses + OTlosses + ties local points = win_points*wins + loss_points*losses + OTloss_points*OTlosses + s_pts + ties_points*ties -- Comparison of for against local gcomp -- Whether to use goal ratio (goal average) instead local use_ratio_val = Args['use_goal_ratio'] or 'no' local skip_sign if yesno(use_ratio_val) then -- Now it is the goal ratio/goal average if gaig == 0 then gcomp = '—' else gcomp = mm._precision_format(gfor / gaig, 3) end else -- It's goal difference gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..gcomp elseif gcomp < 0 then gcomp='−'..-gcomp end end -- Whether to use tiebreak local use_tiebr_val = Args['use_tiebreak'] or 'yes' local do_tiebr = false if yesno(use_tiebr_val) then do_tiebr = true end -- Ties and OTL local use_tieOTL_val = Args['use_ties'] or 'no' local do_ties = false if yesno(use_tieOTL_val) then do_ties = true 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 -- Row building table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches..'\n') -- Played if full_table then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..wins..'\n') -- Won table.insert(t,'| style="'..ii_fw..bg_col..'" |'..losses..'\n') -- Lost if do_ties then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..ties..'\n') -- Ties end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..OTlosses..'\n') -- Lost in OT if do_tiebr then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..tiebr_val..'\n') -- Tiebreaker value end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gfor..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gaig..'\n') -- GA table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end -- Add − for negative point totals table.insert(t,'| style="font-weight: bold;'..bg_col..'" | ') if points<0 then table.insert(t,'−'..-points..hth_string) else table.insert(t,points..hth_string) end table.insert(t,'\n') 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 = { E='Eliminated from playoff contention', P='Clinched Presidents Trophy', X='Clinched playoff spot', Y='Clinched division', Z='Clinched conference'} status_called = {E=false, P=false, X=false, Y=false, Z=false} local status_letters = 'EPXYZ' -- Status position (before or after read and default) local stat_pos_val = Args['status_pos'] or '' local status_position = 'before' -- Default location stat_pos_val = string.lower(stat_pos_val) if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' 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)
Template used on this page:
Module:Sandbox/B2project/WLT/doc
(
edit
)