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:
alfrix
2022-07-04 20:50:34 -03:00
committed by Alfredo Monclus
parent 68d4f9c534
commit 6510b2ec6b
55 changed files with 1607 additions and 1798 deletions

View File

@@ -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",
{