From 42b690975725638f10a0bc698365c6dddd502cab Mon Sep 17 00:00:00 2001 From: Kartik Virendra Rajput <88619994+kartikvirendrar@users.noreply.github.com> Date: Wed, 20 Nov 2024 14:10:55 +0530 Subject: [PATCH] handle an edge case of negative duration --- backend/voiceover/utils.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/voiceover/utils.py b/backend/voiceover/utils.py index 3c8b83dc..5217c61f 100644 --- a/backend/voiceover/utils.py +++ b/backend/voiceover/utils.py @@ -1137,7 +1137,7 @@ def check_audio_completion(voice_over_obj): for index, payload in enumerate(voice_over_obj.translation.payload["payload"]): if str(index) in voice_over_obj.payload["payload"].keys(): - if (get_original_duration(voice_over_obj.payload["payload"][str(index)]["start_time"], voice_over_obj.payload["payload"][str(index)]["end_time"]) < 0.1): + if (get_original_duration_neg(voice_over_obj.payload["payload"][str(index)]["start_time"], voice_over_obj.payload["payload"][str(index)]["end_time"]) < 0.1): missing_cards.append( { "card_number": index + 1, @@ -1292,6 +1292,14 @@ def get_original_duration(start_time, end_time): ) return t_d +def get_original_duration_neg(start_time, end_time): + start = datetime.strptime(start_time, "%H:%M:%S.%f") + end = datetime.strptime(end_time, "%H:%M:%S.%f") + + time_difference = (end - start).total_seconds() + + return time_difference + def integrate_all_audios(file_name, payload, video_duration): length_payload = len(payload["payload"])