From fb7fe282c80854ba06defa1cb4b49f1c9942f450 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 8 Jan 2019 09:15:40 -0500 Subject: klippy: Convert printer_state("shutdown") to an event handler Convert all users of the printer_state("shutdown") handler to register a "klippy:shutdown" event handler instead. Signed-off-by: Kevin O'Connor --- klippy/klippy.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'klippy/klippy.py') diff --git a/klippy/klippy.py b/klippy/klippy.py index d81b4dc4..0ac421ae 100644 --- a/klippy/klippy.py +++ b/klippy/klippy.py @@ -51,14 +51,14 @@ class Printer: self.bglogger = bglogger self.start_args = start_args self.reactor = reactor.Reactor() - gc = gcode.GCodeParser(self, input_fd) - self.objects = collections.OrderedDict({'gcode': gc}) self.reactor.register_callback(self._connect) self.state_message = message_startup self.is_shutdown = False self.run_result = None - self.state_cb = [gc.printer_state] self.event_handlers = {} + gc = gcode.GCodeParser(self, input_fd) + self.objects = collections.OrderedDict({'gcode': gc}) + self.state_cb = [gc.printer_state] def get_start_args(self): return self.start_args def get_reactor(self): @@ -183,8 +183,11 @@ class Printer: return self.is_shutdown = True self._set_state("%s%s" % (msg, message_shutdown)) - for cb in self.state_cb: - cb('shutdown') + for cb in self.event_handlers.get("klippy:shutdown", []): + try: + cb() + except: + logging.exception("Exception during shutdown handler") def invoke_async_shutdown(self, msg): self.reactor.register_async_callback( (lambda e: self.invoke_shutdown(msg))) -- cgit v1.2.3-70-g09d2