Implement version upgrade for UM2 with Olsson

Contributes to issue CURA-6775.
This commit is contained in:
Ghostkeeper 2019-09-16 15:38:01 +02:00
parent 8d21f75c40
commit 5617784b48
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276

View file

@ -51,8 +51,21 @@ class VersionUpgrade43to44(VersionUpgrade):
parser.read_string(serialized)
# Update version number.
if "metadata" in parser:
parser["metadata"]["setting_version"] = "10"
if "containers" in parser:
# With the ContainerTree refactor, UM2 with Olsson block got moved to a separate definition.
if "6" in parser["containers"]:
if parser["containers"]["6"] == "ultimaker2":
if "metadata" in parser and "has_variants" in parser["metadata"] and parser["metadata"]["has_variants"] == "True": # This is an Olsson block upgraded UM2!
parser["containers"]["6"] = "ultimaker2_olsson"
del parser["metadata"]["has_variants"]
elif parser["containers"]["6"] == "ultimaker2_extended":
if "metadata" in parser and "has_variants" in parser["metadata"] and parser["metadata"]["has_variants"] == "True": # This is an Olsson block upgraded UM2E!
parser["containers"]["6"] = "ultimaker2_extended_olsson"
del parser["metadata"]["has_variants"]
# We should only have 6 levels when we start.
if "7" in parser["containers"]:
return ([], [])