From aa7b456594e266e7f464f5205931129a3c96ce71 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 16 Oct 2017 13:59:20 +0200 Subject: [PATCH] Fix custom quality profile upgrade for UM2 family The custom quality profiles for the UM2 family used to be saved as profiles for "fdmprinter". They now should be updated to set for "ultimaker2". --- .../VersionUpgrade27to30.py | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py b/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py index d0b78168b4..98bbcf5120 100644 --- a/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py +++ b/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py @@ -118,24 +118,23 @@ class VersionUpgrade27to30(VersionUpgrade): if not parser.has_section("general"): parser.add_section("general") - # Need to exclude the following names: - # - ultimaker2_plus - # - ultimaker2_go - # - ultimaker2_extended - # - ultimaker2_extended_plus - exclude_prefix_list = ["ultimaker2_plus_", - "ultimaker2_go_", - "ultimaker2_extended_", - "ultimaker2_extended_plus_"] + # The ultimaker 2 family + ultimaker2_prefix_list = ["ultimaker2_extended_", + "ultimaker2_go_", + "ultimaker2_"] + # ultimaker 2+ is a different family, so don't do anything with those + exclude_prefix_list = ["ultimaker2_extended_plus_", + "ultimaker2_plus_"] + + # 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) - if file_base_name.startswith("ultimaker2_"): - skip_this = False - for exclude_prefix in exclude_prefix_list: - if file_base_name.startswith(exclude_prefix): - skip_this = True - break - if not skip_this: - parser["general"]["definition"] = "ultimaker2" + is_ultimaker2_family = not any(file_base_name.startswith(ep) for ep in exclude_prefix_list) + if not is_ultimaker2_family: + 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 + if is_ultimaker2_family and parser["general"]["definition"] == "fdmprinter": + parser["general"]["definition"] = "ultimaker2" # Update version numbers parser["general"]["version"] = "2"