Ensure that 3mf workspace reader loads aditional metadata

CURA-6627
This commit is contained in:
Jaime van Kessel 2020-01-14 15:27:30 +01:00
parent 414b696b32
commit b6d1429eb7
No known key found for this signature in database
GPG key ID: 3710727397403C91

View file

@ -4,7 +4,7 @@
from configparser import ConfigParser
import zipfile
import os
from typing import cast, Dict, List, Optional, Tuple
from typing import cast, Dict, List, Optional, Tuple, Any
import xml.etree.ElementTree as ET
@ -732,7 +732,17 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
base_file_name = os.path.basename(file_name)
self.setWorkspaceName(base_file_name)
return nodes
return nodes, self._loadMetadata(file_name)
def _loadMetadata(self, file_name) -> Dict[str, Dict[str, Any]]:
archive = zipfile.ZipFile(file_name, "r")
import json
try:
return json.loads(archive.open("Cura/plugin_metadata.json").read().decode("utf-8"))
except KeyError:
# The plugin_metadata.json file doesn't exist
return dict()
def _processQualityChanges(self, global_stack):
if self._machine_info.quality_changes_info is None: