From 6210135b927c194fdf26c3cb728fa55c3e94fe09 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Fri, 12 Jul 2019 08:14:28 +0200 Subject: [PATCH] Send the correct action name when using local network --- plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py | 1 + plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py | 6 ++++++ .../src/ClusterUM3PrinterOutputController.py | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py index 8d872d33f5..8d94f41ea5 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py @@ -422,6 +422,7 @@ class CloudOutputDevice(NetworkedPrinterOutputDevice): return [print_job for print_job in self._print_jobs if print_job.assignedPrinter is not None and print_job.state != "queued"] + ## Set the remote print job state. def setJobState(self, print_job_uuid: str, state: str) -> None: self._api.doPrintJobAction(self._cluster.cluster_id, print_job_uuid, state) diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 6fbb115601..dd69a7fe35 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -390,6 +390,12 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): data = "{\"force\": true}" self.put("print_jobs/{uuid}".format(uuid=print_job_uuid), data, on_finished=None) + # Set the remote print job state. + def setJobState(self, print_job_uuid: str, state: str) -> None: + # We rewrite 'resume' to 'print' here because we are using the old print job action endpoints. + data = "{\"action\": \"%s\"}" % "print" if state == "resume" else state + self.put("print_jobs/%s/action" % print_job_uuid, data, on_finished=None) + def _printJobStateChanged(self) -> None: username = self._getUserName() diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py b/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py index 370cfc9008..7273e01f0f 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py @@ -7,6 +7,7 @@ MYPY = False if MYPY: from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel + class ClusterUM3PrinterOutputController(PrinterOutputController): def __init__(self, output_device): super().__init__(output_device) @@ -16,5 +17,4 @@ class ClusterUM3PrinterOutputController(PrinterOutputController): self.can_send_raw_gcode = False def setJobState(self, job: "PrintJobOutputModel", state: str): - data = "{\"action\": \"%s\"}" % state - self._output_device.put("print_jobs/%s/action" % job.key, data, on_finished=None) + self._output_device.setJobState(job.key, state)