handle BaseExceptions properly

This commit is contained in:
Nick Sweeting 2021-04-08 06:08:17 -04:00
parent 87970a254f
commit 2e57df917e
2 changed files with 7 additions and 2 deletions

View file

@ -502,11 +502,13 @@ def write_config_file(config: Dict[str, str], out_dir: str=None) -> ConfigDict:
key.upper(): CONFIG.get(key.upper())
for key in config.keys()
}
except BaseException:
except BaseException: # lgtm [py/catch-base-exception]
# something went horribly wrong, rever to the previous version
with open(f'{config_path}.bak', 'r', encoding='utf-8') as old:
atomic_write(config_path, old.read())
raise
if Path(f'{config_path}.bak').exists():
os.remove(f'{config_path}.bak')

View file

@ -157,7 +157,10 @@ class TimedProgress:
# kill the progress bar subprocess
try:
self.p.close() # must be closed *before* its terminnated
except BaseException:
except (KeyboardInterrupt, SystemExit):
print()
raise
except BaseException: # lgtm [py/catch-base-exception]
pass
self.p.terminate()
self.p.join()