aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/bulk_sensor.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2023-12-16 21:59:53 -0500
committerKevin O'Connor <kevin@koconnor.net>2023-12-26 11:47:21 -0500
commit95c753292d7cb6f577e3ed2b644c2d84c7158e4a (patch)
treee54092a7e0164a7563e1a9ef0909578812f08132 /klippy/extras/bulk_sensor.py
parentacde3720a4ee8caefacd39d39ea2e6d540e37453 (diff)
downloadkutter-95c753292d7cb6f577e3ed2b644c2d84c7158e4a.tar.gz
kutter-95c753292d7cb6f577e3ed2b644c2d84c7158e4a.tar.xz
kutter-95c753292d7cb6f577e3ed2b644c2d84c7158e4a.zip
bulk_sensor: Minor code reorg to _stop() in APIDumpHelper()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/bulk_sensor.py')
-rw-r--r--klippy/extras/bulk_sensor.py38
1 files changed, 19 insertions, 19 deletions
diff --git a/klippy/extras/bulk_sensor.py b/klippy/extras/bulk_sensor.py
index 4c4f22ef..826bf74c 100644
--- a/klippy/extras/bulk_sensor.py
+++ b/klippy/extras/bulk_sensor.py
@@ -22,23 +22,6 @@ class APIDumpHelper:
self.clients = {}
self.webhooks_start_resp = {}
# Periodic batch processing
- def _stop(self):
- self.clients.clear()
- reactor = self.printer.get_reactor()
- reactor.unregister_timer(self.update_timer)
- self.update_timer = None
- if not self.is_started:
- return reactor.NEVER
- try:
- self.startstop_cb(False)
- except self.printer.command_error as e:
- logging.exception("API Dump Helper stop callback error")
- self.clients.clear()
- self.is_started = False
- if self.clients:
- # New client started while in process of stopping
- self._start()
- return reactor.NEVER
def _start(self):
if self.is_started:
return
@@ -54,19 +37,36 @@ class APIDumpHelper:
systime = reactor.monotonic()
waketime = systime + self.update_interval
self.update_timer = reactor.register_timer(self._update, waketime)
+ def _stop(self):
+ self.clients.clear()
+ self.printer.get_reactor().unregister_timer(self.update_timer)
+ self.update_timer = None
+ if not self.is_started:
+ return
+ try:
+ self.startstop_cb(False)
+ except self.printer.command_error as e:
+ logging.exception("API Dump Helper stop callback error")
+ self.clients.clear()
+ self.is_started = False
+ if self.clients:
+ # New client started while in process of stopping
+ self._start()
def _update(self, eventtime):
try:
msg = self.data_cb(eventtime)
except self.printer.command_error as e:
logging.exception("API Dump Helper data callback error")
- return self._stop()
+ self._stop()
+ return self.printer.get_reactor().NEVER
if not msg:
return eventtime + self.update_interval
for cconn, template in list(self.clients.items()):
if cconn.is_closed():
del self.clients[cconn]
if not self.clients:
- return self._stop()
+ self._stop()
+ return self.printer.get_reactor().NEVER
continue
tmp = dict(template)
tmp['params'] = msg