]> git.sesse.net Git - ultimatescore/commitdiff
Restructure config for ranking lists a bit.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 19 Feb 2020 20:39:16 +0000 (21:39 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 19 Feb 2020 20:39:16 +0000 (21:39 +0100)
config.js
update_sheets.js

index 50ff0b8b5b4b9a8751eec0feb9ae857ac690efd4..a40d9640daa7b7b0c357c7d97077b0d804a5c407 100644 (file)
--- a/config.js
+++ b/config.js
@@ -9,16 +9,29 @@ var ultimateconfig = {
        'roster_sheet_id': '1ACCrWaicEOFbeoY05SCbCvk2cHF6yAS9WwFOdNJxMIU',
        'api_key': 'AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU',
 
-       // Rank, name, points.
-       'score_sheet_cols': {
-               'Group A': [ 'Results!S', 'Results!T', 'Results!U' ],
-               'Group B': [ 'Results!W', 'Results!X', 'Results!Y' ],
-               'Group C': [ 'Results!AA', 'Results!AB', 'Results!AC' ]
+       'group_cells': {
+               'Group A': {
+                       // Rank, name, points.
+                       'score_sheet_cols': [ 'Results!S', 'Results!T', 'Results!U' ],
+                       'point_total_start_row': 8,
+                       'ranking_list_start_row': 15,
+                       'ranking_list_explain_row': 21
+               },
+               'Group B': {
+                       // Rank, name, points.
+                       'score_sheet_cols': [ 'Results!W', 'Results!X', 'Results!Y' ],
+                       'point_total_start_row': 8,
+                       'ranking_list_start_row': 15,
+                       'ranking_list_explain_row': 21
+               },
+               'Group C': {
+                       // Rank, name, points.
+                       'score_sheet_cols': [ 'Results!AA', 'Results!AB', 'Results!AC' ],
+                       'point_total_start_row': 8,
+                       'ranking_list_start_row': 15,
+                       'ranking_list_explain_row': 21
+               }
        },
-
-       'point_total_start_row': 8,
-       'ranking_list_start_row': 15,
-       'ranking_list_explain_row': 21,
        'explain_third_cell': 'Results!S26',
 
        'playoff_games': [
index 59e41372a4b54557b895ae434ab3143b07dffb12..aa4daa6a8559dbeeeed674da59352fa3ea910826 100644 (file)
@@ -68,16 +68,19 @@ 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);
 
        // 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 +88,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 +98,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",