Просмотр исходного кода

Use sets for folder names from the start

We use a set here because we want to remove the current version from it later on. However if we change the variable to contain a set instead of a list, MyPy will start complaining that we change the type.

Contributes to issue CURA-7024.
Ghostkeeper 5 лет назад
Родитель
Сommit
ccc295e2bc

+ 1 - 1
plugins/VersionUpgrade/VersionUpgrade44to45/VersionUpgrade44to45.py

@@ -38,7 +38,7 @@ class VersionUpgrade44to45(VersionUpgrade):
         # If you're starting from an earlier version, you can't have had the bug that produces too many hidden stacks (https://github.com/Ultimaker/Cura/issues/6731).
         # If you're starting from a later version, the bug was already fixed.
         data_storage_root = os.path.dirname(Resources.getDataStoragePath())
-        folders = os.listdir(data_storage_root)  # All version folders.
+        folders = set(os.listdir(data_storage_root))  # All version folders.
         folders = set(filter(lambda p: re.fullmatch(r"\d+\.\d+", p), folders))  # Only folders with a correct version number as name.
         folders.difference_update({os.path.basename(Resources.getDataStoragePath())})  # Remove current version from candidates (since the folder was just copied).
         if folders: