mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 01:07:52 -06:00
Merge branch 'master' into CURA-7454_Add_remove_printers_button_in_removed_printers_from_account_message
This commit is contained in:
commit
984426fabb
8 changed files with 28 additions and 5 deletions
|
@ -74,7 +74,7 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
|
|||
b"name": cluster.friendly_name.encode() if cluster.friendly_name else b"",
|
||||
b"firmware_version": cluster.host_version.encode() if cluster.host_version else b"",
|
||||
b"printer_type": cluster.printer_type.encode() if cluster.printer_type else b"",
|
||||
b"cluster_size": b"1" # cloud devices are always clusters of at least one
|
||||
b"cluster_size": str(cluster.printer_count).encode() if cluster.printer_count else b"1"
|
||||
}
|
||||
|
||||
super().__init__(
|
||||
|
|
|
@ -192,7 +192,11 @@ class CloudOutputDeviceManager:
|
|||
self._connectToActiveMachine()
|
||||
return
|
||||
|
||||
new_devices.sort(key = lambda x: x.name.lower())
|
||||
# Sort new_devices on online status first, alphabetical second.
|
||||
# Since the first device might be activated in case there is no active printer yet,
|
||||
# it would be nice to prioritize online devices
|
||||
online_cluster_names = {c.friendly_name.lower() for c in clusters if c.is_online and not c.friendly_name is None}
|
||||
new_devices.sort(key = lambda x: ("a{}" if x.name.lower() in online_cluster_names else "b{}").format(x.name.lower()))
|
||||
|
||||
image_path = os.path.join(
|
||||
CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "",
|
||||
|
@ -376,6 +380,7 @@ class CloudOutputDeviceManager:
|
|||
machine.setName(device.name)
|
||||
machine.setMetaDataEntry(self.META_CLUSTER_ID, device.key)
|
||||
machine.setMetaDataEntry("group_name", device.name)
|
||||
machine.setMetaDataEntry("group_size", device.clusterSize)
|
||||
machine.setMetaDataEntry("removal_warning", self.I18N_CATALOG.i18nc(
|
||||
"@label ({} is printer name)",
|
||||
"{} will be removed until the next account sync. <br> To remove {} permanently, "
|
||||
|
|
|
@ -11,7 +11,7 @@ class CloudClusterResponse(BaseModel):
|
|||
|
||||
def __init__(self, cluster_id: str, host_guid: str, host_name: str, is_online: bool, status: str,
|
||||
host_internal_ip: Optional[str] = None, host_version: Optional[str] = None,
|
||||
friendly_name: Optional[str] = None, printer_type: str = "ultimaker3", **kwargs) -> None:
|
||||
friendly_name: Optional[str] = None, printer_type: str = "ultimaker3", printer_count: int = 1, **kwargs) -> None:
|
||||
"""Creates a new cluster response object.
|
||||
|
||||
:param cluster_id: The secret unique ID, e.g. 'kBEeZWEifXbrXviO8mRYLx45P8k5lHVGs43XKvRniPg='.
|
||||
|
@ -23,6 +23,7 @@ class CloudClusterResponse(BaseModel):
|
|||
:param host_internal_ip: The internal IP address of the host printer.
|
||||
:param friendly_name: The human readable name of the host printer.
|
||||
:param printer_type: The machine type of the host printer.
|
||||
:param printer_count: The amount of printers in the print cluster. 1 for a single printer
|
||||
"""
|
||||
|
||||
self.cluster_id = cluster_id
|
||||
|
@ -34,6 +35,7 @@ class CloudClusterResponse(BaseModel):
|
|||
self.host_internal_ip = host_internal_ip
|
||||
self.friendly_name = friendly_name
|
||||
self.printer_type = printer_type
|
||||
self.printer_count = printer_count
|
||||
super().__init__(**kwargs)
|
||||
|
||||
# Validates the model, raising an exception if the model is invalid.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue