From 1019f2dd65ab64cbb6738115efc266dd59bde92f Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 6 Jun 2018 14:54:26 +0200 Subject: [PATCH] CURA-5449 Do not check if the name is the correct group name if the output device is manual create device and it is marked as temporary. Wait until all the information is retrieved when the request finishes. --- cura/PrinterOutput/NetworkedPrinterOutputDevice.py | 5 ++--- cura/Settings/MachineManager.py | 4 ++-- plugins/UM3NetworkPrinting/UM3OutputDevicePlugin.py | 3 ++- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index 86af368a86..6322eb87d1 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -3,7 +3,6 @@ from UM.Application import Application from UM.Logger import Logger -from cura.CuraApplication import CuraApplication from cura.PrinterOutputDevice import PrinterOutputDevice, ConnectionState @@ -255,8 +254,8 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): self._last_manager_create_time = time() self._manager.authenticationRequired.connect(self._onAuthenticationRequired) - machine_manager = CuraApplication.getInstance().getMachineManager() - machine_manager.checkCorrectGroupName(self.getId(), self.name) + if b'temporary' not in self._properties: + Application.getInstance().getMachineManager().checkCorrectGroupName(self.getId(), self.name) def _registerOnFinishedCallback(self, reply: QNetworkReply, onFinished: Optional[Callable[[Any, QNetworkReply], None]]) -> None: if onFinished is not None: diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 389c4e4de3..5c6769bc7d 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1308,8 +1308,8 @@ class MachineManager(QObject): # Check if the connect_group_name is correct. If not, update all the containers connected to the same printer if self.activeMachineNetworkGroupName != group_name: metadata_filter = {"um_network_key": self.activeMachineNetworkKey} - hidden_containers = ContainerRegistry.getInstance().findContainerStacks(type = "machine", **metadata_filter) - for container in hidden_containers: + containers = ContainerRegistry.getInstance().findContainerStacks(type = "machine", **metadata_filter) + for container in containers: container.setMetaDataEntry("connect_group_name", group_name) ## This method checks if there is an instance connected to the given network_key diff --git a/plugins/UM3NetworkPrinting/UM3OutputDevicePlugin.py b/plugins/UM3NetworkPrinting/UM3OutputDevicePlugin.py index bf5ac96197..6730699c9b 100644 --- a/plugins/UM3NetworkPrinting/UM3OutputDevicePlugin.py +++ b/plugins/UM3NetworkPrinting/UM3OutputDevicePlugin.py @@ -162,7 +162,8 @@ class UM3OutputDevicePlugin(OutputDevicePlugin): b"name": address.encode("utf-8"), b"address": address.encode("utf-8"), b"manual": b"true", - b"incomplete": b"true" + b"incomplete": b"true", + b"temporary": b"true" # Still a temporary device until all the info is retrieved in _onNetworkRequestFinished } if instance_name not in self._discovered_devices: