From 76b037cc3dc97fe15b8b8e4df0d7da906a9eacf4 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Thu, 23 Feb 2023 20:03:10 +0100 Subject: [PATCH] added silent flag and repr --- slic/core/sensor/monitor.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/slic/core/sensor/monitor.py b/slic/core/sensor/monitor.py index db076a6f..0970bc13 100644 --- a/slic/core/sensor/monitor.py +++ b/slic/core/sensor/monitor.py @@ -1,6 +1,8 @@ -from threading import Thread from itertools import count -from slic.utils import tqdm_sleep +from threading import Thread +from time import sleep + +from slic.utils import tqdm_sleep, typename def monitor(name, sensor, record_time, grum_client, cfg=None): @@ -18,12 +20,13 @@ def monitor(name, sensor, record_time, grum_client, cfg=None): class Monitor: - def __init__(self, name, sensor, record_time, grum_client, cfg=None): + def __init__(self, name, sensor, record_time, grum_client, cfg=None, silent=False): self.name = name self.sensor = sensor self.record_time = record_time self.grum_client = grum_client self.cfg = cfg or {} + self.silent = silent self.stop() def stop(self): @@ -41,12 +44,17 @@ class Monitor: sensor = self.sensor record_time = self.record_time grum_client = self.grum_client + silent = self.silent + + dont_print = lambda *a: None + fprint = dont_print if silent else print + fsleep = sleep if silent else tqdm_sleep grum_client.new_plot(name, self.cfg) for x in count(): - print(f"iteration #{x}") + fprint(f"iteration #{x}") with sensor: - tqdm_sleep(record_time) + fsleep(record_time) y = sensor.get_aggregate() y = float(y) grum_client.append_data(name, (x, y)) @@ -55,4 +63,10 @@ class Monitor: break + def __repr__(self): + tn = typename(self) + state = "running" if self.running else "not running" + return f"{tn} \"{self.name}\": {state}" + +