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 from configparser import ConfigParser
import zipfile import zipfile
import os 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 import xml.etree.ElementTree as ET
@ -732,7 +732,17 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
base_file_name = os.path.basename(file_name) base_file_name = os.path.basename(file_name)
self.setWorkspaceName(base_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): def _processQualityChanges(self, global_stack):
if self._machine_info.quality_changes_info is None: if self._machine_info.quality_changes_info is None: