fix: addon directory not cleared during an update

This commit is contained in:
Swann Martinez
2022-02-10 15:44:46 +01:00
parent f84860f520
commit 745f45b682
2 changed files with 12 additions and 10 deletions

View File

@ -1015,16 +1015,18 @@ class Singleton_updater(object):
for path, dirs, files in os.walk(base): for path, dirs, files in os.walk(base):
# prune ie skip updater folder # prune ie skip updater folder
dirs[:] = [d for d in dirs if os.path.join(path,d) not in [self._updater_path]] dirs[:] = [d for d in dirs if os.path.join(path,d) not in [self._updater_path]]
for directory in dirs:
shutil.rmtree(os.path.join(path,directory))
for file in files: for file in files:
for ptrn in self.remove_pre_update_patterns: try:
if fnmatch.filter([file],ptrn): fl = os.path.join(path,file)
try: os.remove(fl)
fl = os.path.join(path,file) if self._verbose: print("Pre-removed file "+file)
os.remove(fl) except OSError:
if self._verbose: print("Pre-removed file "+file) print("Failed to pre-remove "+file)
except OSError: self.print_trace()
print("Failed to pre-remove "+file)
self.print_trace()
# Walk through the temp addon sub folder for replacements # Walk through the temp addon sub folder for replacements
# this implements the overwrite rules, which apply after # this implements the overwrite rules, which apply after

View File

@ -267,7 +267,7 @@ class addon_updater_update_now(bpy.types.Operator):
clean_install: bpy.props.BoolProperty( clean_install: bpy.props.BoolProperty(
name="Clean install", name="Clean install",
description="If enabled, completely clear the addon's folder before installing new update, creating a fresh install", description="If enabled, completely clear the addon's folder before installing new update, creating a fresh install",
default=False, default=True,
options={'HIDDEN'} options={'HIDDEN'}
) )