mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Rename some stuff to make it clear
This commit is contained in:
parent
25fde1e0c4
commit
11bd520c98
2 changed files with 27 additions and 33 deletions
|
@ -104,14 +104,14 @@ class CloudOutputDeviceManager:
|
||||||
if not device:
|
if not device:
|
||||||
device = CloudOutputDevice(self._api, cluster_data)
|
device = CloudOutputDevice(self._api, cluster_data)
|
||||||
discovery.addDiscoveredPrinter(device.key, device.key, cluster_data.friendly_name,
|
discovery.addDiscoveredPrinter(device.key, device.key, cluster_data.friendly_name,
|
||||||
self._createMachineFromDiscoveredPrinter, device.printerType, device)
|
self._createMachineFromDiscoveredDevice, device.printerType, device)
|
||||||
else:
|
else:
|
||||||
discovery.updateDiscoveredPrinter(device.key, cluster_data.friendly_name, device.printerType)
|
discovery.updateDiscoveredPrinter(device.key, cluster_data.friendly_name, device.printerType)
|
||||||
new_devices[device.key] = device
|
new_devices[device.key] = device
|
||||||
|
|
||||||
# Remove output devices that disappeared.
|
# Remove output devices that disappeared.
|
||||||
remote_cluster_keys = self._remote_clusters.keys()
|
keys = self._remote_clusters.keys()
|
||||||
removed_devices = [cluster for cluster in self._remote_clusters.values() if cluster.key not in remote_cluster_keys]
|
removed_devices = [cluster for cluster in self._remote_clusters.values() if cluster.key not in keys]
|
||||||
for device in removed_devices:
|
for device in removed_devices:
|
||||||
CuraApplication.getInstance().getOutputDeviceManager().removeOutputDevice(device.key)
|
CuraApplication.getInstance().getOutputDeviceManager().removeOutputDevice(device.key)
|
||||||
discovery.removeDiscoveredPrinter(device.key)
|
discovery.removeDiscoveredPrinter(device.key)
|
||||||
|
@ -120,7 +120,7 @@ class CloudOutputDeviceManager:
|
||||||
self.discoveredDevicesChanged.emit()
|
self.discoveredDevicesChanged.emit()
|
||||||
self._connectToActiveMachine()
|
self._connectToActiveMachine()
|
||||||
|
|
||||||
def _createMachineFromDiscoveredPrinter(self, key: str) -> None:
|
def _createMachineFromDiscoveredDevice(self, key: str) -> None:
|
||||||
device = self._remote_clusters[key] # type: CloudOutputDevice
|
device = self._remote_clusters[key] # type: CloudOutputDevice
|
||||||
if not device:
|
if not device:
|
||||||
Logger.log("e", "Could not find discovered device with key [%s]", key)
|
Logger.log("e", "Could not find discovered device with key [%s]", key)
|
||||||
|
|
|
@ -36,17 +36,15 @@ class NetworkOutputDeviceManager:
|
||||||
|
|
||||||
# Hook up ZeroConf client.
|
# Hook up ZeroConf client.
|
||||||
self._zero_conf_client = ZeroConfClient()
|
self._zero_conf_client = ZeroConfClient()
|
||||||
self._zero_conf_client.addedNetworkCluster.connect(self._onAddDevice)
|
self._zero_conf_client.addedNetworkCluster.connect(self._onDeviceDiscovered)
|
||||||
self._zero_conf_client.removedNetworkCluster.connect(self._onRemoveDevice)
|
self._zero_conf_client.removedNetworkCluster.connect(self._onDiscoveredDeviceRemoved)
|
||||||
|
|
||||||
# TODO: move manual device stuff to own class?
|
|
||||||
# Persistent dict containing manually connected clusters.
|
# Persistent dict containing manually connected clusters.
|
||||||
self._manual_instances = {} # type: Dict[str, Callable]
|
self._manual_instances = {} # type: Dict[str, Callable]
|
||||||
|
|
||||||
## Start the network discovery.
|
## Start the network discovery.
|
||||||
def start(self) -> None:
|
def start(self) -> None:
|
||||||
self._zero_conf_client.start()
|
self._zero_conf_client.start()
|
||||||
|
|
||||||
# Load all manual devices.
|
# Load all manual devices.
|
||||||
self._manual_instances = self._getStoredManualInstances()
|
self._manual_instances = self._getStoredManualInstances()
|
||||||
for address in self._manual_instances:
|
for address in self._manual_instances:
|
||||||
|
@ -55,10 +53,9 @@ class NetworkOutputDeviceManager:
|
||||||
## Stop network discovery and clean up discovered devices.
|
## Stop network discovery and clean up discovered devices.
|
||||||
def stop(self) -> None:
|
def stop(self) -> None:
|
||||||
self._zero_conf_client.stop()
|
self._zero_conf_client.stop()
|
||||||
|
|
||||||
# Cleanup all manual devices.
|
# Cleanup all manual devices.
|
||||||
for instance_name in list(self._discovered_devices):
|
for instance_name in list(self._discovered_devices):
|
||||||
self._onRemoveDevice(instance_name)
|
self._onDiscoveredDeviceRemoved(instance_name)
|
||||||
|
|
||||||
## Add a networked printer manually by address.
|
## Add a networked printer manually by address.
|
||||||
def addManualDevice(self, address: str, callback: Optional[Callable[[bool, str], None]] = None) -> None:
|
def addManualDevice(self, address: str, callback: Optional[Callable[[bool, str], None]] = None) -> None:
|
||||||
|
@ -66,9 +63,9 @@ class NetworkOutputDeviceManager:
|
||||||
new_manual_devices = ",".join(self._manual_instances.keys())
|
new_manual_devices = ",".join(self._manual_instances.keys())
|
||||||
CuraApplication.getInstance().getPreferences().setValue(self.MANUAL_DEVICES_PREFERENCE_KEY, new_manual_devices)
|
CuraApplication.getInstance().getPreferences().setValue(self.MANUAL_DEVICES_PREFERENCE_KEY, new_manual_devices)
|
||||||
|
|
||||||
key = f"manual:{address}"
|
device_id = f"manual:{address}"
|
||||||
if key not in self._discovered_devices:
|
if device_id not in self._discovered_devices:
|
||||||
self._onAddDevice(key, address, {
|
self._onDeviceDiscovered(device_id, address, {
|
||||||
b"name": address.encode("utf-8"),
|
b"name": address.encode("utf-8"),
|
||||||
b"address": address.encode("utf-8"),
|
b"address": address.encode("utf-8"),
|
||||||
b"manual": b"true",
|
b"manual": b"true",
|
||||||
|
@ -80,20 +77,18 @@ class NetworkOutputDeviceManager:
|
||||||
self._checkManualDevice(address, response_callback)
|
self._checkManualDevice(address, response_callback)
|
||||||
|
|
||||||
## Remove a manually added networked printer.
|
## Remove a manually added networked printer.
|
||||||
def removeManualDevice(self, key: str, address: Optional[str] = None) -> None:
|
def removeManualDevice(self, device_id: str, address: Optional[str] = None) -> None:
|
||||||
if key not in self._discovered_devices and address is not None:
|
if device_id not in self._discovered_devices and address is not None:
|
||||||
key = f"manual:{address}"
|
device_id = f"manual:{address}"
|
||||||
|
|
||||||
if key in self._discovered_devices:
|
if device_id in self._discovered_devices:
|
||||||
if not address:
|
address = address or self._discovered_devices[device_id].ipAddress
|
||||||
address = self._discovered_devices[key].ipAddress
|
self._onDiscoveredDeviceRemoved(device_id)
|
||||||
self._onRemoveDevice(key)
|
|
||||||
|
|
||||||
if address in self._manual_instances:
|
if address in self._manual_instances:
|
||||||
manual_instance_callback = self._manual_instances.pop(address)
|
manual_instance_callback = self._manual_instances.pop(address)
|
||||||
new_manual_devices = ",".join(self._manual_instances.keys())
|
new_devices = ",".join(self._manual_instances.keys())
|
||||||
CuraApplication.getInstance().getPreferences().setValue(self.MANUAL_DEVICES_PREFERENCE_KEY,
|
CuraApplication.getInstance().getPreferences().setValue(self.MANUAL_DEVICES_PREFERENCE_KEY, new_devices)
|
||||||
new_manual_devices)
|
|
||||||
if manual_instance_callback:
|
if manual_instance_callback:
|
||||||
CuraApplication.getInstance().callLater(manual_instance_callback, False, address)
|
CuraApplication.getInstance().callLater(manual_instance_callback, False, address)
|
||||||
|
|
||||||
|
@ -157,18 +152,17 @@ class NetworkOutputDeviceManager:
|
||||||
return found_machine_type_identifiers
|
return found_machine_type_identifiers
|
||||||
|
|
||||||
## Add a new device.
|
## Add a new device.
|
||||||
def _onAddDevice(self, key: str, address: str, properties: Dict[bytes, bytes]) -> None:
|
def _onDeviceDiscovered(self, key: str, address: str, properties: Dict[bytes, bytes]) -> None:
|
||||||
cluster_size = int(properties.get(b"cluster_size", -1))
|
cluster_size = int(properties.get(b"cluster_size", -1))
|
||||||
printer_type = properties.get(b"machine", b"").decode("utf-8")
|
machine_identifier = properties.get(b"machine", b"").decode("utf-8")
|
||||||
printer_type_identifiers = self._getPrinterTypeIdentifiers()
|
printer_type_identifiers = self._getPrinterTypeIdentifiers()
|
||||||
|
|
||||||
# Detect the machine type based on the BOM number that is sent over the network.
|
# Detect the machine type based on the BOM number that is sent over the network.
|
||||||
|
properties[b"printer_type"] = b"Unknown"
|
||||||
for bom, p_type in printer_type_identifiers.items():
|
for bom, p_type in printer_type_identifiers.items():
|
||||||
if printer_type.startswith(bom):
|
if machine_identifier.startswith(bom):
|
||||||
properties[b"printer_type"] = bytes(p_type, encoding="utf8")
|
properties[b"printer_type"] = bytes(p_type, encoding="utf8")
|
||||||
break
|
break
|
||||||
else:
|
|
||||||
properties[b"printer_type"] = b"Unknown"
|
|
||||||
|
|
||||||
# We no longer support legacy devices, so check that here.
|
# We no longer support legacy devices, so check that here.
|
||||||
if cluster_size == -1:
|
if cluster_size == -1:
|
||||||
|
@ -179,7 +173,7 @@ class NetworkOutputDeviceManager:
|
||||||
ip_address=address,
|
ip_address=address,
|
||||||
key=device.getId(),
|
key=device.getId(),
|
||||||
name=device.getName(),
|
name=device.getName(),
|
||||||
create_callback=self._createMachineFromDiscoveredPrinter,
|
create_callback=self._createMachineFromDiscoveredDevice,
|
||||||
machine_type=device.printerType,
|
machine_type=device.printerType,
|
||||||
device=device
|
device=device
|
||||||
)
|
)
|
||||||
|
@ -188,7 +182,7 @@ class NetworkOutputDeviceManager:
|
||||||
self._connectToActiveMachine()
|
self._connectToActiveMachine()
|
||||||
|
|
||||||
## Remove a device.
|
## Remove a device.
|
||||||
def _onRemoveDevice(self, device_id: str) -> None:
|
def _onDiscoveredDeviceRemoved(self, device_id: str) -> None:
|
||||||
device = self._discovered_devices.pop(device_id, None)
|
device = self._discovered_devices.pop(device_id, None)
|
||||||
if not device:
|
if not device:
|
||||||
return
|
return
|
||||||
|
@ -196,10 +190,10 @@ class NetworkOutputDeviceManager:
|
||||||
self.discoveredDevicesChanged.emit()
|
self.discoveredDevicesChanged.emit()
|
||||||
|
|
||||||
## Create a machine instance based on the discovered network printer.
|
## Create a machine instance based on the discovered network printer.
|
||||||
def _createMachineFromDiscoveredPrinter(self, key: str) -> None:
|
def _createMachineFromDiscoveredDevice(self, device_id: str) -> None:
|
||||||
device = self._discovered_devices.get(key)
|
device = self._discovered_devices.get(device_id)
|
||||||
if device is None:
|
if device is None:
|
||||||
Logger.log("e", "Could not find discovered device with key [%s]", key)
|
Logger.log("e", "Could not find discovered device with device_id [%s]", device_id)
|
||||||
return
|
return
|
||||||
|
|
||||||
# The newly added machine is automatically activated.
|
# The newly added machine is automatically activated.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue