job_status: fix metadata not updating after printer switch fixes #1301
This commit is contained in:
parent
a312c28471
commit
1e2f538210
@ -47,7 +47,7 @@ class KlippyFiles:
|
|||||||
os.path.dirname(params['filename']),
|
os.path.dirname(params['filename']),
|
||||||
thumbnail['relative_path']
|
thumbnail['relative_path']
|
||||||
)
|
)
|
||||||
self.run_callbacks("update_metadata", result["result"])
|
self._screen.process_update("notify_metadata_update", params)
|
||||||
|
|
||||||
def add_file(self, item):
|
def add_file(self, item):
|
||||||
if 'path' not in item:
|
if 'path' not in item:
|
||||||
|
@ -337,7 +337,6 @@ class Panel(ScreenPanel):
|
|||||||
if self.flow_timeout is not None:
|
if self.flow_timeout is not None:
|
||||||
GLib.source_remove(self.flow_timeout)
|
GLib.source_remove(self.flow_timeout)
|
||||||
self.flow_timeout = None
|
self.flow_timeout = None
|
||||||
self._files.remove_callback(self._callback_metadata)
|
|
||||||
|
|
||||||
def create_buttons(self):
|
def create_buttons(self):
|
||||||
|
|
||||||
@ -454,12 +453,6 @@ class Panel(ScreenPanel):
|
|||||||
for arg in args:
|
for arg in args:
|
||||||
self.buttons[arg].set_sensitive(False)
|
self.buttons[arg].set_sensitive(False)
|
||||||
|
|
||||||
def _callback_metadata(self, action, item):
|
|
||||||
if action == "update_metadata" and self.filename in item:
|
|
||||||
logging.info("Callback complete")
|
|
||||||
self.update_file_metadata()
|
|
||||||
self._files.remove_callback(self._callback_metadata)
|
|
||||||
|
|
||||||
def new_print(self):
|
def new_print(self):
|
||||||
self._screen.close_screensaver()
|
self._screen.close_screensaver()
|
||||||
if "virtual_sdcard" in self._printer.data:
|
if "virtual_sdcard" in self._printer.data:
|
||||||
@ -476,6 +469,8 @@ class Panel(ScreenPanel):
|
|||||||
elif "action:resumed" in data:
|
elif "action:resumed" in data:
|
||||||
self.set_state("printing")
|
self.set_state("printing")
|
||||||
return
|
return
|
||||||
|
elif action == "notify_metadata_update" and data['filename'] == self.filename:
|
||||||
|
self.update_file_metadata()
|
||||||
elif action != "notify_status_update":
|
elif action != "notify_status_update":
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -811,6 +806,5 @@ class Panel(ScreenPanel):
|
|||||||
self.labels['filament_total'].set_label(f"{float(self.file_metadata['filament_total']) / 1000:.1f} m")
|
self.labels['filament_total'].set_label(f"{float(self.file_metadata['filament_total']) / 1000:.1f} m")
|
||||||
else:
|
else:
|
||||||
logging.debug("Cannot find file metadata. Listening for updated metadata")
|
logging.debug("Cannot find file metadata. Listening for updated metadata")
|
||||||
self._screen.files.add_callback(self._callback_metadata)
|
|
||||||
self._files.request_metadata(self.filename)
|
self._files.request_metadata(self.filename)
|
||||||
self.show_file_thumbnail()
|
self.show_file_thumbnail()
|
||||||
|
@ -385,9 +385,7 @@ class Panel(ScreenPanel):
|
|||||||
|
|
||||||
def _callback(self, action, item):
|
def _callback(self, action, item):
|
||||||
logging.info(f"{action}: {item}")
|
logging.info(f"{action}: {item}")
|
||||||
if action == "update_metadata":
|
if action in {"create_dir", "create_file"}:
|
||||||
return
|
|
||||||
elif action in {"create_dir", "create_file"}:
|
|
||||||
self.add_item_from_callback(action, item)
|
self.add_item_from_callback(action, item)
|
||||||
elif action == "delete_file":
|
elif action == "delete_file":
|
||||||
self.delete_from_list(item["path"])
|
self.delete_from_list(item["path"])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user