X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=update_sheets.js;h=a656c89286f944211048ef070daf8ecb07fe7366;hb=693747756e9731f299c69c7374adc61c0d71450f;hp=59e41372a4b54557b895ae434ab3143b07dffb12;hpb=6195edee233c4b44b71078fcd38bf2c64aab08bd;p=ultimatescore diff --git a/update_sheets.js b/update_sheets.js index 59e4137..a656c89 100644 --- a/update_sheets.js +++ b/update_sheets.js @@ -68,16 +68,20 @@ function possibly_update_oauth_key(cb) { function publish_group_rank(response, group_name) { let updates = []; - let cols = ultimateconfig['score_sheet_cols'][group_name]; + let config = ultimateconfig['group_cells'][group_name]; + let cols = config['score_sheet_cols']; let teams = parse_teams_from_spreadsheet(response); let games = parse_games_from_spreadsheet(response, group_name, false); apply_games_to_teams(games, teams); + teams = filter_teams(teams, response); // Write the points total to the unsorted columns. - for (let i = 0; i < teams.length; ++i) { - let row = ultimateconfig['point_total_start_row'] + i; - updates.push({ "range": cols[2] + row, "values": [ [ teams[i].pts ] ] }); + if (config['point_total_start_row'] !== null) { + for (let i = 0; i < teams.length; ++i) { + let row = config['point_total_start_row'] + i; + updates.push({ "range": cols[2] + row, "values": [ [ teams[i].pts ] ] }); + } } let tiebreakers = []; @@ -85,7 +89,7 @@ function publish_group_rank(response, group_name) // Write the ranking table, from scratch. for (let i = 0; i < teams.length; ++i) { - let row = ultimateconfig['ranking_list_start_row'] + i; + let row = config['ranking_list_start_row'] + i; updates.push({ "range": cols[0] + row, "values": [ [ teams[i].rank ] ] }); updates.push({ "range": cols[1] + row, "values": [ [ teams[i].mediumname ] ] }); updates.push({ "range": cols[2] + row, "values": [ [ teams[i].pts ] ] }); @@ -95,7 +99,7 @@ function publish_group_rank(response, group_name) if (tiebreakers.length != 0) { tb_str = tiebreakers.join("\n"); } - updates.push({ "range": cols[0] + ultimateconfig['ranking_list_explain_row'], "values": [ [ tb_str ] ]}); + updates.push({ "range": cols[0] + config['ranking_list_explain_row'], "values": [ [ tb_str ] ]}); let json = { "valueInputOption": "USER_ENTERED", @@ -356,7 +360,9 @@ function fill_playoff(replacements, teams) { "requests": meta_updates }; possibly_update_oauth_key(function() { - post_json('https://sheets.googleapis.com/v4/spreadsheets/' + ultimateconfig['score_sheet_id'] + '/values:batchUpdate?key=' + ultimateconfig['api_key'], json, function(response) {}, current_oauth_access_token); + post_json('https://sheets.googleapis.com/v4/spreadsheets/' + ultimateconfig['score_sheet_id'] + '/values:batchUpdate?key=' + ultimateconfig['api_key'], json, function(response) { + get_group('Playoffs 9th-13th', function(response_l) { publish_group_rank(response_l, 'Playoffs 9th-13th'); }); + }, current_oauth_access_token); post_json('https://sheets.googleapis.com/v4/spreadsheets/' + ultimateconfig['score_sheet_id'] + ':batchUpdate?key=' + ultimateconfig['api_key'], meta_json, function(response) {}, current_oauth_access_token); }); }); @@ -394,6 +400,7 @@ function get_ranked(response, group_name) { let teams = parse_teams_from_spreadsheet(response); let games = parse_games_from_spreadsheet(response, group_name, false); apply_games_to_teams(games, teams); + teams = filter_teams(teams, response); let tiebreakers = []; teams = rank(games, teams, 1, tiebreakers); return teams;