]> git.sesse.net Git - pkanalytics/commitdiff
Better JS logging of warnings.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 23 Jul 2023 12:58:44 +0000 (14:58 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 23 Jul 2023 12:58:44 +0000 (14:58 +0200)
ultimate.js

index 358f2fb6634e4383d9222d6de4bb154939fa503a..d327ed5ad6008c220aa5185efb24941e7582f91d 100644 (file)
@@ -11,6 +11,17 @@ fetch('ultimate.json')
    .then(response => response.json())
    .then(response => { global_json = response; process_matches(global_json, global_filters); });
 
+function format_time(t)
+{
+       const ms = t % 1000 + '';
+       t = Math.floor(t / 1000);
+       const sec = t % 60 + '';
+       t = Math.floor(t / 60);
+       const min = t % 60 + '';
+       const hour = Math.floor(t / 60) + '';
+       return hour + ':' + min.padStart(2, '0') + ':' + sec.padStart(2, '0') + '.' + ms.padStart(3, '0');
+}
+
 function attribute_player_time(player, to, from, offense) {
        let delta_time;
        if (player.on_field_since > from) {
@@ -299,7 +310,7 @@ function process_matches(json, filters) {
                                live_since = t;
                        } else if (type === 'catch' && last_pull_was_ours === null) {
                                // Someone forgot to add the pull, so we'll need to wing it.
-                               console.log('Missing pull on ' + our_score + '\u2013' + their_score + ' in ' + match['description'] + '; pretending to have one.');
+                               console.log(match['description'] + ' ' + format_time(t) + ': Missing pull on ' + our_score + '\u2013' + their_score + '; pretending to have one.');
                                live_since = t;
                                last_pull_was_ours = !offense;
                        } else if (type === 'goal' || type === 'their_goal' || type === 'stoppage') {
@@ -483,12 +494,12 @@ function process_matches(json, filters) {
                        }
 
                        if (type !== 'out' && type !== 'in' && p !== undefined && p.on_field_since === null) {
-                               console.log('Event “' + type + '” on subbed-out player ' + p.name + ' in ' + our_score + '\u2013' + their_score + ' in ' + match['description']);
+                               console.log(match['description'] + ' ' + format_time(t) + ': Event “' + type + '” on subbed-out player ' + p.name);
                        }
                        if (type === 'catch' && handler !== null && players[handler].on_field_since === null) {
                                // The handler subbed out and was replaced with another handler,
                                // so this wasn't a pass.
-                               console.log('Pass from subbed-out player ' + players[handler].name + ' in ' + our_score + '\u2013' + their_score + ' in ' + match['description'] + '; ignoring.');
+                               console.log(match['description'] + ' ' + format_time(t) + ': Disc came from subbed-out player ' + players[handler].name + '; not counting a pass.');
                                handler = null;
                        }
 
@@ -552,7 +563,7 @@ function process_matches(json, filters) {
                                   type !== 'pull' && type !== 'pull_landed' && type !== 'pull_oob' && type !== 'their_pull' &&
                                   type !== 'their_throwaway' && type !== 'defense' && type !== 'interception' &&
                                   type !== 'formation_offense' && type !== 'formation_defense') {
-                               console.log("Unknown event:", e);
+                               console.log(format_time(t) + ": Unknown event “" + e + "”");
                        }
 
                        if (type === 'goal' || type === 'their_goal') {