From 548d2d766833cb643581cdd4884ae96da5253569 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 23 Jul 2023 14:58:44 +0200 Subject: [PATCH] Better JS logging of warnings. --- ultimate.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/ultimate.js b/ultimate.js index 358f2fb..d327ed5 100644 --- a/ultimate.js +++ b/ultimate.js @@ -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') { -- 2.39.2