diff --git a/archivebox/config.py b/archivebox/config.py index 67987847..2afff849 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -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') diff --git a/archivebox/logging_util.py b/archivebox/logging_util.py index d0972191..92a0f61d 100644 --- a/archivebox/logging_util.py +++ b/archivebox/logging_util.py @@ -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()