|
@@ -81,13 +81,15 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter):
|
|
|
return True
|
|
|
|
|
|
def _writePluginMetadataToArchive(self, archive):
|
|
|
- file_name = "Cura/plugin_metadata.json"
|
|
|
-
|
|
|
- file_in_archive = zipfile.ZipInfo(file_name)
|
|
|
- # For some reason we have to set the compress type of each file as well (it doesn't keep the type of the entire archive)
|
|
|
- file_in_archive.compress_type = zipfile.ZIP_DEFLATED
|
|
|
- import json
|
|
|
- archive.writestr(file_in_archive, json.dumps(Application.getInstance()._workspace_metadata_storage.getAllData()))
|
|
|
+ file_name_template = "%s/plugin_metadata.json"
|
|
|
+
|
|
|
+ for plugin_id, metadata in Application.getInstance()._workspace_metadata_storage.getAllData().items():
|
|
|
+ file_name = file_name_template % plugin_id
|
|
|
+ file_in_archive = zipfile.ZipInfo(file_name)
|
|
|
+ # We have to set the compress type of each file as well (it doesn't keep the type of the entire archive)
|
|
|
+ file_in_archive.compress_type = zipfile.ZIP_DEFLATED
|
|
|
+ import json
|
|
|
+ archive.writestr(file_in_archive, json.dumps(metadata, separators = (", ", ": "), indent = 4))
|
|
|
|
|
|
## Helper function that writes ContainerStacks, InstanceContainers and DefinitionContainers to the archive.
|
|
|
# \param container That follows the \type{ContainerInterface} to archive.
|