Only use <fdmmaterial version> for detecting material file version

CURA-3540
This commit is contained in:
Lipu Fei 2017-05-23 11:51:28 +02:00
parent 1f33a0d4cd
commit 9a08e0cc27
2 changed files with 2 additions and 34 deletions

View file

@ -395,29 +395,13 @@ class XmlMaterialProfile(InstanceContainer):
def getVersionFromSerialized(self, serialized: str) -> Optional[int]: def getVersionFromSerialized(self, serialized: str) -> Optional[int]:
data = ET.fromstring(serialized) data = ET.fromstring(serialized)
# get format version version = 1
version = None
metadata = data.iterfind("./um:metadata/*", self.__namespaces)
for entry in metadata:
tag_name = _tag_without_namespace(entry)
if tag_name == "version":
try:
version = int(entry.text)
except Exception as e:
raise InvalidInstanceError("Invalid version string '%s': %s" % (entry.text, e))
break
if version is None:
raise InvalidInstanceError("Missing version in metadata")
# get setting version # get setting version
if "version" in data.attrib: if "version" in data.attrib:
setting_version = self.xmlVersionToSettingVersion(data.attrib["version"]) setting_version = self.xmlVersionToSettingVersion(data.attrib["version"])
else: else:
setting_version = self.xmlVersionToSettingVersion("1.2") setting_version = self.xmlVersionToSettingVersion("1.2")
if version is None:
raise InvalidInstanceError("Missing version in metadata")
return version * 1000000 + setting_version return version * 1000000 + setting_version
## Overridden from InstanceContainer ## Overridden from InstanceContainer

View file

@ -10,29 +10,13 @@ class XmlMaterialUpgrader(VersionUpgrade):
def getXmlVersion(self, serialized): def getXmlVersion(self, serialized):
data = ET.fromstring(serialized) data = ET.fromstring(serialized)
# get format version version = 1
version = None
metadata = data.iterfind("./um:metadata/*")
for entry in metadata:
tag_name = entry.tag
if tag_name == "version":
try:
version = int(entry.text)
except Exception as e:
raise ValueError("Invalid version string '%s': %s" % (entry.text, e))
break
if version is None:
raise RuntimeError("Missing version in metadata")
# get setting version # get setting version
if "version" in data.attrib: if "version" in data.attrib:
setting_version = self._xmlVersionToSettingVersion(data.attrib["version"]) setting_version = self._xmlVersionToSettingVersion(data.attrib["version"])
else: else:
setting_version = self._xmlVersionToSettingVersion("1.2") setting_version = self._xmlVersionToSettingVersion("1.2")
if version is None:
raise RuntimeError("Missing version in metadata")
return version * 1000000 + setting_version return version * 1000000 + setting_version
def _xmlVersionToSettingVersion(self, xml_version: str) -> int: def _xmlVersionToSettingVersion(self, xml_version: str) -> int: