diff --git a/queue.py b/queue.py index c9433e4..c05d7a7 100644 --- a/queue.py +++ b/queue.py @@ -111,12 +111,16 @@ digit_addresses = [ (3, 15), # 31 ] +def log(*args): + timestamp = datetime.now().strftime('[%y-%m-%d %H:%M:%S]') + print(timestamp, *args) + def set_display(ser, message, interval, display_width, global_brightness): lines = [ line for line in message.splitlines() if line.strip() ] for i, line in enumerate(lines): line = line.center(display_width)[:display_width] line_mapped = [shuffle_segments(seg_map.get(c, seg_map['#'])) for c in line] - print(f' [Line {i+1}/{len(lines)}] Sending control data.') + log(f' [Line {i+1}/{len(lines)}] Sending control data.') digit_data = [0x00] * 16 * 4 for (driver, address), data in zip(digit_addresses, line_mapped): @@ -166,7 +170,7 @@ def cli(database, port, baudrate, message_interval, display_width, global_bright idle_seconds = int(interval) idle_index += 1 - print(f' [Idle {idle_index}/{len(idle_messages)}] {message}') + log(f' [Idle {idle_index}/{len(idle_messages)}] {message}') set_display(ser, message, 0, display_width, global_brightness) time.sleep(1) @@ -174,7 +178,7 @@ def cli(database, port, baudrate, message_interval, display_width, global_bright queue_pressure = max(0, min((math.log10(max(1, count-3)) - 0.3) * message_interval*2/3, message_interval*1/3)) interval = message_interval - queue_pressure - print(f' Waiting interval of {message_interval:.1f} s with queue pressure {queue_pressure:.1f} from n={count} items for a total of {interval:.1f} s') + log(f' Waiting interval of {message_interval:.1f} s with queue pressure {queue_pressure:.1f} from n={count} items for a total of {interval:.1f} s') rowid, message, timestamp, remote_ip, suppress_display = db.execute(''' @@ -193,11 +197,11 @@ def cli(database, port, baudrate, message_interval, display_width, global_bright else: if discard > 0: - print(f'Discarded {discard} messages.') + log(f'Discarded {discard} messages.') discard = 0 - print(f'Queueing message by {remote_ip} received at {timestamp} ({delta//60:.0f}m {delta%60:.0f}s ago):') - print(' ', repr(message)) + log(f'Queueing message by {remote_ip} received at {timestamp} ({delta//60:.0f}m {delta%60:.0f}s ago):') + log(' ', repr(message)) idle_seconds = 0 interval = max(5, interval/len(message.splitlines()))