forked from CreatBot/CreatBotKlipperScreen
Refactor
Use f-strings Avoid unnecessary casts to str()bool()int() Ensure file closure Merge nested ifs Simplify for-assigns-appends with comprehensions and internal functions Avoid shadowing internal function names Initialize variables Return value directly instead of assign then return Make some methods static
This commit is contained in:
@@ -36,13 +36,15 @@ class KlippyWebsocket(threading.Thread):
|
||||
|
||||
def __init__(self, screen, callback, host, port):
|
||||
threading.Thread.__init__(self)
|
||||
self._wst = None
|
||||
self.ws_url = None
|
||||
self._screen = screen
|
||||
self._callback = callback
|
||||
self.klippy = MoonrakerApi(self)
|
||||
self.closing = False
|
||||
self.ws = None
|
||||
|
||||
self._url = "%s:%s" % (host, port)
|
||||
self._url = f"{host}:{port}"
|
||||
|
||||
def initial_connect(self):
|
||||
# Enable a timeout so that way if moonraker is not running, it will attempt to reconnect
|
||||
@@ -70,9 +72,10 @@ class KlippyWebsocket(threading.Thread):
|
||||
if state is False:
|
||||
if self.reconnect_count > 3:
|
||||
self._screen.panels['splash_screen'].update_text(
|
||||
_("Cannot connect to Moonraker") +
|
||||
"\n\n%s\n\n" % self._url +
|
||||
_("Retry #%s") % self.reconnect_count)
|
||||
_("Cannot connect to Moonraker")
|
||||
+ f'\n\n{self._url}\n\n'
|
||||
+ _("Retrying") + f' #{self.reconnect_count}'
|
||||
)
|
||||
return False
|
||||
token = self._screen.apiclient.get_oneshot_token()
|
||||
except Exception as e:
|
||||
@@ -80,7 +83,7 @@ class KlippyWebsocket(threading.Thread):
|
||||
logging.debug("Unable to get oneshot token")
|
||||
return False
|
||||
|
||||
self.ws_url = "ws://%s/websocket?token=%s" % (self._url, token)
|
||||
self.ws_url = f"ws://{self._url}/websocket?token={token}"
|
||||
self.ws = websocket.WebSocketApp(
|
||||
self.ws_url, on_close=ws_on_close, on_error=ws_on_error, on_message=ws_on_message, on_open=ws_on_open)
|
||||
|
||||
@@ -102,18 +105,17 @@ class KlippyWebsocket(threading.Thread):
|
||||
|
||||
def on_message(self, ws, message):
|
||||
response = json.loads(message)
|
||||
if "id" in response:
|
||||
if response['id'] in self.callback_table:
|
||||
Gdk.threads_add_idle(
|
||||
GLib.PRIORITY_HIGH_IDLE,
|
||||
self.callback_table[response['id']][0],
|
||||
response,
|
||||
self.callback_table[response['id']][1],
|
||||
self.callback_table[response['id']][2],
|
||||
*self.callback_table[response['id']][3]
|
||||
)
|
||||
self.callback_table.pop(response['id'])
|
||||
return
|
||||
if "id" in response and response['id'] in self.callback_table:
|
||||
Gdk.threads_add_idle(
|
||||
GLib.PRIORITY_HIGH_IDLE,
|
||||
self.callback_table[response['id']][0],
|
||||
response,
|
||||
self.callback_table[response['id']][1],
|
||||
self.callback_table[response['id']][2],
|
||||
*self.callback_table[response['id']][3]
|
||||
)
|
||||
self.callback_table.pop(response['id'])
|
||||
return
|
||||
|
||||
if "method" in response and "on_message" in self._callback:
|
||||
Gdk.threads_add_idle(
|
||||
@@ -124,7 +126,9 @@ class KlippyWebsocket(threading.Thread):
|
||||
)
|
||||
return
|
||||
|
||||
def send_method(self, method, params={}, callback=None, *args):
|
||||
def send_method(self, method, params=None, callback=None, *args):
|
||||
if params is None:
|
||||
params = {}
|
||||
if self.is_connected() is False:
|
||||
return False
|
||||
|
||||
@@ -143,7 +147,7 @@ class KlippyWebsocket(threading.Thread):
|
||||
|
||||
def on_open(self, ws):
|
||||
logging.info("Moonraker Websocket Open")
|
||||
logging.info("Self.connected = %s" % self.is_connected())
|
||||
logging.info(f"Self.connected = {self.is_connected()}")
|
||||
self.connected = True
|
||||
self.reconnect_count = 0
|
||||
if self.reconnect_timeout is not None:
|
||||
@@ -173,7 +177,7 @@ class KlippyWebsocket(threading.Thread):
|
||||
logging.info("Moonraker Websocket Closed")
|
||||
self.connected = False
|
||||
if self.reconnect_timeout is None:
|
||||
self.reconnect_timeout = GLib.timeout_add_seconds(3, self.reconnect)
|
||||
self.reconnect_timeout = GLib.timeout_add_seconds(9, self.reconnect)
|
||||
|
||||
if "on_close" in self._callback:
|
||||
Gdk.threads_add_idle(
|
||||
@@ -193,8 +197,9 @@ class KlippyWebsocket(threading.Thread):
|
||||
self.connect()
|
||||
return True
|
||||
|
||||
def on_error(self, ws, error):
|
||||
logging.debug("Websocket error: %s" % error)
|
||||
@staticmethod
|
||||
def on_error(ws, error):
|
||||
logging.debug(f"Websocket error: {error}")
|
||||
|
||||
|
||||
class MoonrakerApi:
|
||||
@@ -208,7 +213,7 @@ class MoonrakerApi:
|
||||
)
|
||||
|
||||
def gcode_script(self, script, callback=None, *args):
|
||||
logging.debug("Sending printer.gcode.script: %s", script)
|
||||
logging.debug(f"Sending printer.gcode.script: {script}")
|
||||
return self._ws.send_method(
|
||||
"printer.gcode.script",
|
||||
{"script": script},
|
||||
@@ -243,14 +248,14 @@ class MoonrakerApi:
|
||||
)
|
||||
|
||||
def object_subscription(self, updates):
|
||||
logging.debug("Sending printer.objects.subscribe: %s", str(updates))
|
||||
logging.debug(f"Sending printer.objects.subscribe: {updates}")
|
||||
return self._ws.send_method(
|
||||
"printer.objects.subscribe",
|
||||
updates
|
||||
)
|
||||
|
||||
def power_device_off(self, device, callback=None, *args):
|
||||
logging.debug("Sending machine.device_power.off: %s" % device)
|
||||
logging.debug(f"Sending machine.device_power.off: {device}")
|
||||
return self._ws.send_method(
|
||||
"machine.device_power.off",
|
||||
{device: False},
|
||||
@@ -259,7 +264,7 @@ class MoonrakerApi:
|
||||
)
|
||||
|
||||
def power_device_on(self, device, callback=None, *args):
|
||||
logging.debug("Sending machine.device_power.on %s" % device)
|
||||
logging.debug("Sending machine.device_power.on {device}")
|
||||
return self._ws.send_method(
|
||||
"machine.device_power.on",
|
||||
{device: False},
|
||||
@@ -307,7 +312,7 @@ class MoonrakerApi:
|
||||
|
||||
def temperature_set(self, heater, target, callback=None, *args):
|
||||
if heater == "heater_bed":
|
||||
logging.debug("Sending printer.gcode.script: %s", KlippyGcodes.set_bed_temp(target))
|
||||
logging.debug(f"Sending printer.gcode.script: {KlippyGcodes.set_bed_temp(target)}")
|
||||
return self._ws.send_method(
|
||||
"printer.gcode.script",
|
||||
{
|
||||
@@ -318,8 +323,7 @@ class MoonrakerApi:
|
||||
)
|
||||
else:
|
||||
logging.debug(
|
||||
"Sending printer.gcode.script: %s",
|
||||
KlippyGcodes.set_ext_temp(target, heater.replace("tool", "")))
|
||||
f'Sending printer.gcode.script: {KlippyGcodes.set_ext_temp(target, heater.replace("tool", ""))}')
|
||||
# TODO: Add max/min limits
|
||||
return self._ws.send_method(
|
||||
"printer.gcode.script",
|
||||
@@ -331,7 +335,7 @@ class MoonrakerApi:
|
||||
)
|
||||
|
||||
def set_bed_temp(self, target, callback=None, *args):
|
||||
logging.debug("Sending set_bed_temp: %s", KlippyGcodes.set_bed_temp(target))
|
||||
logging.debug(f"Sending set_bed_temp: {KlippyGcodes.set_bed_temp(target)}")
|
||||
return self._ws.send_method(
|
||||
"printer.gcode.script",
|
||||
{
|
||||
@@ -342,7 +346,7 @@ class MoonrakerApi:
|
||||
)
|
||||
|
||||
def set_heater_temp(self, heater, target, callback=None, *args):
|
||||
logging.debug("Sending heater %s to temp: %s", heater, target)
|
||||
logging.debug(f"Sending heater {heater} to temp: {target}")
|
||||
return self._ws.send_method(
|
||||
"printer.gcode.script",
|
||||
{
|
||||
@@ -353,7 +357,7 @@ class MoonrakerApi:
|
||||
)
|
||||
|
||||
def set_temp_fan_temp(self, temp_fan, target, callback=None, *args):
|
||||
logging.debug("Sending temperature fan %s to temp: %s", temp_fan, target)
|
||||
logging.debug(f"Sending temperature fan {temp_fan} to temp: {target}")
|
||||
return self._ws.send_method(
|
||||
"printer.gcode.script",
|
||||
{
|
||||
@@ -364,7 +368,7 @@ class MoonrakerApi:
|
||||
)
|
||||
|
||||
def set_tool_temp(self, tool, target, callback=None, *args):
|
||||
logging.debug("Sending set_tool_temp: %s", KlippyGcodes.set_ext_temp(target, tool))
|
||||
logging.debug(f"Sending set_tool_temp: {KlippyGcodes.set_ext_temp(target, tool)}")
|
||||
return self._ws.send_method(
|
||||
"printer.gcode.script",
|
||||
{
|
||||
|
Reference in New Issue
Block a user