Encode capabilities as comma-separated list

Previously it was encoded as a stringified Python list of strings, which is much harder to parse.
This would go wrong if any of these capabilities have a comma in them, but I think that would be bad practice for keywords like this anyway.

Contributes to issue CURA-8671.
This commit is contained in:
Ghostkeeper 2021-12-03 13:25:41 +01:00
parent b76df21b4b
commit 0477ba44b2
No known key found for this signature in database
GPG key ID: D2A8871EE34EC59A
2 changed files with 2 additions and 2 deletions

View file

@ -123,7 +123,7 @@ class GlobalStacksModel(ListModel):
if self._filter_online_only and not is_online: if self._filter_online_only and not is_online:
continue continue
capabilities = set(container_stack.getMetaDataEntry(META_CAPABILITIES, set())) capabilities = set(container_stack.getMetaDataEntry(META_CAPABILITIES, "").split(","))
if set(self._filter_capabilities) - capabilities: # Not all required capabilities are met. if set(self._filter_capabilities) - capabilities: # Not all required capabilities are met.
continue continue

View file

@ -129,7 +129,7 @@ class CloudOutputDeviceManager:
if not parseBool(self._um_cloud_printers[device_id].getMetaDataEntry(META_UM_LINKED_TO_ACCOUNT, "true")): if not parseBool(self._um_cloud_printers[device_id].getMetaDataEntry(META_UM_LINKED_TO_ACCOUNT, "true")):
self._um_cloud_printers[device_id].setMetaDataEntry(META_UM_LINKED_TO_ACCOUNT, True) self._um_cloud_printers[device_id].setMetaDataEntry(META_UM_LINKED_TO_ACCOUNT, True)
if not self._um_cloud_printers[device_id].getMetaDataEntry(META_CAPABILITIES, None): if not self._um_cloud_printers[device_id].getMetaDataEntry(META_CAPABILITIES, None):
self._um_cloud_printers[device_id].setMetaDataEntry(META_CAPABILITIES, cluster_data.capabilities) self._um_cloud_printers[device_id].setMetaDataEntry(META_CAPABILITIES, ",".join(cluster_data.capabilities))
self._onDevicesDiscovered(new_clusters) self._onDevicesDiscovered(new_clusters)
self._updateOnlinePrinters(all_clusters) self._updateOnlinePrinters(all_clusters)