]> git.sesse.net Git - ultimatescore/blobdiff - update_sheets.js
Fix parsing of status word.
[ultimatescore] / update_sheets.js
index 2a2461b00cc258fe400c78e96d539006659b9c40..7cfe0fda6cc320bfdc2532e58a1d7d766aa5ccec 100644 (file)
@@ -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);
                });
 
        });