parent
bd98e758ec
commit
4800b56492
@ -330,14 +330,14 @@ class Printer:
|
||||
return True
|
||||
|
||||
def init_temp_store(self, tempstore):
|
||||
if not tempstore or 'result' not in tempstore:
|
||||
return
|
||||
if self.tempstore and list(self.tempstore) != list(tempstore['result']):
|
||||
if not tempstore:
|
||||
logging.debug("Tempstore not ready")
|
||||
if self.tempstore and list(self.tempstore) != list(tempstore):
|
||||
logging.debug("Tempstore has changed")
|
||||
self.tempstore = tempstore['result']
|
||||
self.tempstore = tempstore
|
||||
self.change_state(self.state)
|
||||
else:
|
||||
self.tempstore = tempstore['result']
|
||||
self.tempstore = tempstore
|
||||
for device in self.tempstore:
|
||||
for x in self.tempstore[device]:
|
||||
length = len(self.tempstore[device][x])
|
||||
|
@ -11,7 +11,6 @@ from ks_includes.widgets.keypad import Keypad
|
||||
class Panel(MenuPanel):
|
||||
def __init__(self, screen, title, items=None):
|
||||
super().__init__(screen, title, items)
|
||||
self.graph_retry_timeout = None
|
||||
self.left_panel = None
|
||||
self.devices = {}
|
||||
self.graph_update = None
|
||||
@ -20,7 +19,6 @@ class Panel(MenuPanel):
|
||||
self.main_menu = self._gtk.HomogeneousGrid()
|
||||
self.main_menu.set_hexpand(True)
|
||||
self.main_menu.set_vexpand(True)
|
||||
self.graph_retry = 0
|
||||
scroll = self._gtk.ScrolledWindow()
|
||||
self.numpad_visible = False
|
||||
|
||||
@ -41,18 +39,12 @@ class Panel(MenuPanel):
|
||||
self.content.add(self.main_menu)
|
||||
|
||||
def update_graph_visibility(self):
|
||||
if self.left_panel is None or not self._printer.get_temp_store_devices():
|
||||
if self._printer.get_temp_store_devices():
|
||||
logging.info("Retrying to create left panel")
|
||||
self._gtk.reset_temp_color()
|
||||
self.main_menu.attach(self.create_left_panel(), 0, 0, 1, 1)
|
||||
self.graph_retry += 1
|
||||
if self.graph_retry < 5:
|
||||
if self.graph_retry_timeout is None:
|
||||
self.graph_retry_timeout = GLib.timeout_add_seconds(5, self.update_graph_visibility)
|
||||
else:
|
||||
logging.debug(f"Could not create graph {self.left_panel} {self._printer.get_temp_store_devices()}")
|
||||
return False
|
||||
if self.left_panel is None:
|
||||
logging.info("No left panel")
|
||||
return
|
||||
if not self._printer.get_temp_store_devices():
|
||||
logging.debug(f"Could not create graph tempstore: {self._printer.get_temp_store_devices()}")
|
||||
return
|
||||
count = 0
|
||||
for device in self.devices:
|
||||
visible = self._config.get_config().getboolean(f"graph {self._screen.connected_printer}",
|
||||
@ -87,9 +79,6 @@ class Panel(MenuPanel):
|
||||
if self.graph_update is not None:
|
||||
GLib.source_remove(self.graph_update)
|
||||
self.graph_update = None
|
||||
if self.graph_retry_timeout is not None:
|
||||
GLib.source_remove(self.graph_retry_timeout)
|
||||
self.graph_retry_timeout = None
|
||||
if self.active_heater is not None:
|
||||
self.hide_numpad()
|
||||
|
||||
|
@ -164,6 +164,7 @@ class Panel(ScreenPanel):
|
||||
|
||||
def update_graph_visibility(self):
|
||||
if not self._printer.get_temp_store_devices():
|
||||
logging.debug(f"Could not create graph tempstore: {self._printer.get_temp_store_devices()}")
|
||||
return
|
||||
count = 0
|
||||
for device in self.devices:
|
||||
|
13
screen.py
13
screen.py
@ -888,7 +888,8 @@ class KlipperScreen(Gtk.Window):
|
||||
extra_items))
|
||||
if data is False:
|
||||
return self._init_printer("Error getting printer object data with extra items")
|
||||
self.init_tempstore()
|
||||
if len(self.printer.get_tools() + self.printer.get_heaters()) > 0:
|
||||
self.init_tempstore()
|
||||
|
||||
self.files.initialize()
|
||||
self.files.refresh_files()
|
||||
@ -902,7 +903,15 @@ class KlipperScreen(Gtk.Window):
|
||||
return False
|
||||
|
||||
def init_tempstore(self):
|
||||
self.printer.init_temp_store(self.apiclient.send_request("server/temperature_store"))
|
||||
tempstore = self.apiclient.send_request("server/temperature_store")
|
||||
if tempstore and 'result' in tempstore:
|
||||
self.printer.init_temp_store(tempstore['result'])
|
||||
if hasattr(self.panels[self._cur_panels[-1]], "update_graph_visibility"):
|
||||
self.panels[self._cur_panels[-1]].update_graph_visibility()
|
||||
else:
|
||||
logging.error(f'Tempstore not ready: {tempstore} Retrying in 5 seconds')
|
||||
GLib.timeout_add_seconds(5, self.init_tempstore)
|
||||
return
|
||||
server_config = self.apiclient.send_request("server/config")
|
||||
if server_config:
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user