From 44c3dbf44381e9d2ec6cd7dcfe93454916335754 Mon Sep 17 00:00:00 2001 From: zackees Date: Wed, 10 May 2023 13:56:31 -0700 Subject: [PATCH] fix windows unit test on locked file --- src/video_subtitles/run.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/video_subtitles/run.py b/src/video_subtitles/run.py index 875278f..a080b43 100644 --- a/src/video_subtitles/run.py +++ b/src/video_subtitles/run.py @@ -1,6 +1,8 @@ """ Runs the program """ + +import atexit import os import shutil @@ -21,6 +23,15 @@ def find_srt_files(folder: str) -> list[str]: return files +def cleanup(file: str): + """Attempts to remove the file.""" + if os.path.exists(file): + try: + os.remove(file) + except Exception as err: # pylint: disable=broad-except + print(f"Error removing {file}: {err}") + + def run( # pylint: disable=too-many-locals,too-many-branches,too-many-statements file: str, deepl_api_key: str | None, @@ -97,7 +108,6 @@ def run( # pylint: disable=too-many-locals,too-many-branches,too-many-statement os.remove(webvtt_file) convert_webvtt(srt_file, webvtt_file) os.remove(srt_file) - if os.path.exists("geckodriver.log"): # appears when generating srt files - os.remove("geckodriver.log") + atexit.register(cleanup, os.path.abspath("geckodriver.log")) print("Done translating") return outdir