Merge pull request #10969 from Ultimaker/CURA-8666_dont_restore_backup_plugins

[CURA-8666] Don't restore files ignored with current backup policy.
This commit is contained in:
Vandresc 2021-12-02 14:37:00 +01:00 committed by GitHub
commit 748e698b57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -181,8 +181,7 @@ class Backup:
return extracted
@staticmethod
def _extractArchive(archive: "ZipFile", target_path: str) -> bool:
def _extractArchive(self, archive: "ZipFile", target_path: str) -> bool:
"""Extract the whole archive to the given target path.
:param archive: The archive as ZipFile.
@ -201,7 +200,11 @@ class Backup:
Resources.factoryReset()
Logger.log("d", "Extracting backup to location: %s", target_path)
name_list = archive.namelist()
ignore_string = re.compile("|".join(self.IGNORED_FILES + self.IGNORED_FOLDERS))
for archive_filename in name_list:
if ignore_string.search(archive_filename):
Logger.warning(f"File ({archive_filename}) in archive that doesn't fit current backup policy; ignored.")
continue
try:
archive.extract(archive_filename, target_path)
except (PermissionError, EnvironmentError):