From fd49c60f5768faa6dc118297c93c50fd465a1635 Mon Sep 17 00:00:00 2001 From: McCloudS <64094529+McCloudS@users.noreply.github.com> Date: Sun, 26 Jan 2025 18:05:14 -0700 Subject: [PATCH] Fix LRC generation not being skipped properly when it already exists. --- subgen.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/subgen.py b/subgen.py index 5cf67c6..ffd4895 100644 --- a/subgen.py +++ b/subgen.py @@ -1,4 +1,4 @@ -subgen_version = '2025.01.01' +subgen_version = '2025.01.02' from language_code import LanguageCode from datetime import datetime @@ -650,13 +650,16 @@ def isAudioFileExtension(file_extension): AUDIO_EXTENSIONS def write_lrc(result, file_path): - with open(file_path, "w") as file: - for segment in result.segments: - minutes, seconds = divmod(int(segment.start), 60) - fraction = int((segment.start - int(segment.start)) * 100) - # remove embedded newlines in text, since some players ignore text after newlines - text = segment.text[:].replace('\n', '') - file.write(f"[{minutes:02d}:{seconds:02d}.{fraction:02d}]{text}\n") + if not os.path.exists(file_path): + with open(file_path, "w") as file: + for segment in result.segments: + minutes, seconds = divmod(int(segment.start), 60) + fraction = int((segment.start - int(segment.start)) * 100) + # remove embedded newlines in text, since some players ignore text after newlines + text = segment.text[:].replace('\n', '') + file.write(f"[{minutes:02d}:{seconds:02d}.{fraction:02d}]{text}\n") + else: + logging.debug(f"The file {file_path} already exists. Skipping LRC creation.") def gen_subtitles(file_path: str, transcription_type: str, force_language : LanguageCode = LanguageCode.NONE) -> None: """Generates subtitles for a video file.