X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=update_sheets.js;h=7cfe0fda6cc320bfdc2532e58a1d7d766aa5ccec;hb=b2f520916cf152c9d2c868f9181369127b485a12;hp=2a2461b00cc258fe400c78e96d539006659b9c40;hpb=c884c9dafa3006ee456b5536137c71639581b62c;p=ultimatescore diff --git a/update_sheets.js b/update_sheets.js index 2a2461b..7cfe0fd 100644 --- a/update_sheets.js +++ b/update_sheets.js @@ -68,38 +68,43 @@ function possibly_update_oauth_key(cb) { function publish_group_rank(group_name) { get_group(group_name, function(response, group_name) { + let updates = []; + let cols = ["Results!M", "Results!N", "Results!O"]; + if (group_name === 'Group B') { + cols = ["Results!Q", "Results!R", "Results!S"]; + } + let teams = parse_teams_from_spreadsheet(response); let games = parse_games_from_spreadsheet(response, group_name, false); apply_games_to_teams(games, teams); - let tiebreakers = []; - teams = rank(games, teams, 1, tiebreakers); - let cols = ["Results!B", "Results!C", "Results!D"]; - if (group_name === 'Group B') { - cols = ["Results!F", "Results!G", "Results!H"]; - } - - let updates = []; + // Write the points total to the unsorted columns. for (let i = 0; i < teams.length; ++i) { - updates.push({ "range": cols[0] + (10 + i), "values": [ [ teams[i].rank ] ] }); - updates.push({ "range": cols[1] + (10 + i), "values": [ [ teams[i].shortname ] ] }); updates.push({ "range": cols[2] + (10 + i), "values": [ [ teams[i].pts ] ] }); } - // TODO: update the points total at the seeding? + let tiebreakers = []; + teams = rank(games, teams, 1, tiebreakers); + + // Write the ranking table, from scratch. + for (let i = 0; i < teams.length; ++i) { + updates.push({ "range": cols[0] + (19 + i), "values": [ [ teams[i].rank ] ] }); + updates.push({ "range": cols[1] + (19 + i), "values": [ [ teams[i].shortname ] ] }); + updates.push({ "range": cols[2] + (19 + i), "values": [ [ teams[i].pts ] ] }); + } let tb_str = ""; if (tiebreakers.length != 0) { tb_str = tiebreakers.join("\n"); } - updates.push({ "range": cols[0] + "15", "values": [ [ tb_str ] ]}); + updates.push({ "range": cols[0] + "25", "values": [ [ tb_str ] ]}); let json = { "valueInputOption": "USER_ENTERED", "data": updates }; possibly_update_oauth_key(function() { - post_json('https://sheets.googleapis.com/v4/spreadsheets/1uh7kr5v_hyD072b1G2tbQlhqd_8ldS_6j30CBocQ-4E/values:batchUpdate?key=AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU', json, function(response) {}, current_oauth_access_token); + post_json('https://sheets.googleapis.com/v4/spreadsheets/1ygfeR6njBUmLyuLRq7zfYW5slMWBGnj4XxzQQ4WJklU/values:batchUpdate?key=AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU', json, function(response) {}, current_oauth_access_token); }); });