Only remove abstract output device if it's actually added

CURA-8463
This commit is contained in:
Jaime van Kessel 2022-08-31 10:09:47 +02:00
parent feadbf04da
commit dd5981d85e
No known key found for this signature in database
GPG key ID: C85F7A3AF1BAA7C4

View file

@ -404,7 +404,7 @@ class CloudOutputDeviceManager:
for device in remote_abstract_cluster_copy:
if device.printerType == active_machine.definition.getId():
self._connectToAbstractOutputDevice(device, active_machine)
else:
elif device.key in output_device_manager.getOutputDeviceIds():
output_device_manager.removeOutputDevice(device.key)
def _setOutputDeviceMetadata(self, device: CloudOutputDevice, machine: GlobalStack):
@ -423,6 +423,7 @@ class CloudOutputDeviceManager:
machine.addConfiguredConnectionType(device.connectionType.value)
def _connectToAbstractOutputDevice(self, device: AbstractCloudOutputDevice, machine: GlobalStack) -> None:
Logger.debug(f"Attempting to connect to abstract machine {machine.id}")
if not device.isConnected():
device.connect()
machine.addConfiguredConnectionType(device.connectionType.value)