Fix UM2 custom profile upgrade from 2.7

CURA-5218
This commit is contained in:
Lipu Fei 2018-04-18 10:54:04 +02:00
parent 2f14274b87
commit 1fefc05698

View file

@ -4,6 +4,8 @@
import configparser #To parse preference files. import configparser #To parse preference files.
import io #To serialise the preference files afterwards. import io #To serialise the preference files afterwards.
import os import os
import urllib.parse
import re
from UM.VersionUpgrade import VersionUpgrade #We're inheriting from this. from UM.VersionUpgrade import VersionUpgrade #We're inheriting from this.
@ -118,6 +120,12 @@ class VersionUpgrade27to30(VersionUpgrade):
if not parser.has_section("general"): if not parser.has_section("general"):
parser.add_section("general") parser.add_section("general")
# Clean up the filename
file_base_name = os.path.basename(filename)
file_base_name = urllib.parse.unquote_plus(file_base_name)
um2_pattern = re.compile(r"^ultimaker[^a-zA-Z\\d\\s:]2_.*$")
# The ultimaker 2 family # The ultimaker 2 family
ultimaker2_prefix_list = ["ultimaker2_extended_", ultimaker2_prefix_list = ["ultimaker2_extended_",
"ultimaker2_go_", "ultimaker2_go_",
@ -127,9 +135,8 @@ class VersionUpgrade27to30(VersionUpgrade):
"ultimaker2_plus_"] "ultimaker2_plus_"]
# set machine definition to "ultimaker2" for the custom quality profiles that can be for the ultimaker 2 family # set machine definition to "ultimaker2" for the custom quality profiles that can be for the ultimaker 2 family
file_base_name = os.path.basename(filename) is_ultimaker2_family = um2_pattern.match(file_base_name) is not None
is_ultimaker2_family = False if not is_ultimaker2_family and not any(file_base_name.startswith(ep) for ep in exclude_prefix_list):
if not any(file_base_name.startswith(ep) for ep in exclude_prefix_list):
is_ultimaker2_family = any(file_base_name.startswith(ep) for ep in ultimaker2_prefix_list) is_ultimaker2_family = any(file_base_name.startswith(ep) for ep in ultimaker2_prefix_list)
# ultimaker2 family quality profiles used to set as "fdmprinter" profiles # ultimaker2 family quality profiles used to set as "fdmprinter" profiles