From 1eb88d27ba73eba9e66ba9a762ae6449529f9b1e Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 13 Jun 2026 17:51:55 +0000 Subject: [PATCH] Fix verbose double-pass bug in CLI/autotranscript; improve logging --- scraibe/autotranscript.py | 4 ++-- scraibe/cli.py | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/scraibe/autotranscript.py b/scraibe/autotranscript.py index 40b69ac..3b13ee8 100644 --- a/scraibe/autotranscript.py +++ b/scraibe/autotranscript.py @@ -144,7 +144,7 @@ class Scraibe: "In LocalAI mode, audio_file must be a file path (str)." ) - verbose = kwargs.get("verbose", self.verbose) + verbose = kwargs.pop("verbose", self.verbose) logger.info("transcribe called for: %s", audio_file) try: @@ -193,7 +193,7 @@ class Scraibe: "In LocalAI mode, audio_file must be a file path (str)." ) - verbose = kwargs.get("verbose", self.verbose) + verbose = kwargs.pop("verbose", self.verbose) logger.info("transcript_and_summarize called for: %s", audio_file) # 1) Get diarized + transcribed result diff --git a/scraibe/cli.py b/scraibe/cli.py index 6a918df..1d282da 100644 --- a/scraibe/cli.py +++ b/scraibe/cli.py @@ -217,6 +217,11 @@ def cli(): set_threads(arg_dict.pop("num_threads")) + # Read shared values once + verbose = arg_dict.pop("verbose_output") + language = arg_dict.pop("language") + num_speakers = arg_dict.pop("num_speakers") + # Build kwargs for Scraibe (LocalAI-backed) class_kwargs = { "api_url": arg_dict.pop("localai_api_url"), @@ -227,7 +232,7 @@ def cli(): "whisper_type": arg_dict.pop("whisper_type"), "dia_model": arg_dict.pop("diarization_directory"), "use_auth_token": arg_dict.pop("hf_token"), - "verbose": arg_dict.pop("verbose_output"), + "verbose": verbose, } logger.info("LocalAI API URL: %s", class_kwargs["api_url"] or os.getenv("LOCALAI_API_URL", "")) @@ -244,9 +249,9 @@ def cli(): logger.info("Starting 'transcribe' for: %s", audio) out = model.transcribe( audio, - language=arg_dict.pop("language"), - verbose=arg_dict.pop("verbose_output"), - num_speakers=arg_dict.pop("num_speakers"), + language=language, + verbose=verbose, + num_speakers=num_speakers, ) basename = audio.split("/")[-1].split(".")[0] path = os.path.join(out_folder, f"{basename}.{out_format}") @@ -263,9 +268,9 @@ def cli(): summarizer_api_url=arg_dict.pop("summarizer_api_url"), summarizer_api_key=arg_dict.pop("summarizer_api_key"), summarizer_model=arg_dict.pop("summarizer_model"), - language=arg_dict.pop("language"), - verbose=arg_dict.pop("verbose_output"), - num_speakers=arg_dict.pop("num_speakers"), + language=language, + verbose=verbose, + num_speakers=num_speakers, ) transcript_text = result.get("transcript", "")