diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-01-08 09:15:40 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-01-08 10:59:43 -0500 |
commit | fb7fe282c80854ba06defa1cb4b49f1c9942f450 (patch) | |
tree | fcc3098dd798ddd75d75ea854b0c1f4d6dae6b60 /klippy/klippy.py | |
parent | b2d5a8e65bfb4d5c9250a8cfb72e0b1923c8355d (diff) | |
download | kutter-fb7fe282c80854ba06defa1cb4b49f1c9942f450.tar.gz kutter-fb7fe282c80854ba06defa1cb4b49f1c9942f450.tar.xz kutter-fb7fe282c80854ba06defa1cb4b49f1c9942f450.zip |
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 <kevin@koconnor.net>
Diffstat (limited to 'klippy/klippy.py')
-rw-r--r-- | klippy/klippy.py | 13 |
1 files changed, 8 insertions, 5 deletions
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))) |