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.
This commit is contained in:
Ghostkeeper 2020-02-04 14:20:08 +01:00
parent f38dc82ac8
commit ccc295e2bc
No known key found for this signature in database
GPG key ID: 37E2020986774393

View file

@ -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: