From b692314646492ee2a59bdcecb299ec772e689117 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Tue, 27 May 2025 00:05:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(backend)=20handle=20empty=20transc?= =?UTF-8?q?ription=20files=20gracefully?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add handling for when users forget to activate microphones resulting in empty transcripts. User message not yet internationalized, planned for next version. Add friendly instructions to give them hint about the situation. --- src/summary/summary/core/celery_worker.py | 28 ++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/summary/summary/core/celery_worker.py b/src/summary/summary/core/celery_worker.py index bd6f6fd5..e0b08a3e 100644 --- a/src/summary/summary/core/celery_worker.py +++ b/src/summary/summary/core/celery_worker.py @@ -36,6 +36,28 @@ if settings.sentry_dsn and settings.sentry_is_enabled: sentry_sdk.init(dsn=settings.sentry_dsn, enable_tracing=True) +DEFAULT_EMPTY_TRANSCRIPTION = """ +**Aucun contenu audio n’a été détecté dans votre transcription.** + + +*Si vous pensez qu’il s’agit d’une erreur, n’hésitez pas à contacter +notre support technique : visio@numerique.gouv.fr* + +. + +. + +. + +Quelques points que nous vous conseillons de vérifier : +- Un micro était-il activé ? +- Étiez-vous suffisamment proche ? +- Le micro est-il de bonne qualité ? +- L’enregistrement dure-t-il plus de 30 secondes ? + +""" + + def save_audio_stream(audio_stream, chunk_size=32 * 1024): """Save an audio stream to a temporary OGG file.""" with tempfile.NamedTemporaryFile(suffix=".ogg", delete=False) as tmp: @@ -219,7 +241,11 @@ def process_audio_transcribe_summarize_v2(filename: str, email: str, sub: str): os.remove(temp_file_path) logger.debug("Temporary file removed: %s", temp_file_path) - formatted_transcription = format_segments(transcription) + formatted_transcription = ( + DEFAULT_EMPTY_TRANSCRIPTION + if not transcription.segments + else format_segments(transcription) + ) data = { "title": "Transcription",