From 229e155cb79fced1e257458cae5c4063b39951a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ahmet=20=C3=96ner?= <ahmetn8@gmail.com>
Date: Wed, 18 Dec 2024 23:01:49 +0100
Subject: [PATCH] Fix JSON serialization of segments due to Faster Whisper
 v1.1.0 changes

---
 CHANGELOG.md | 4 ++++
 app/utils.py | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1ba4c3d..dfb337f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@ Changelog
 Unreleased
 ----------
 
+### Fixed
+
+- Fix JSON serialization of segments due to Faster Whisper v1.1.0 changes
+
 [1.7.0] (2024-12-17)
 --------------------
 
diff --git a/app/utils.py b/app/utils.py
index 0b51281..154dbbb 100644
--- a/app/utils.py
+++ b/app/utils.py
@@ -1,5 +1,6 @@
 import json
 import os
+from dataclasses import asdict
 from typing import TextIO, BinaryIO
 
 import ffmpeg
@@ -88,6 +89,8 @@ class WriteJSON(ResultWriter):
     extension: str = "json"
 
     def write_result(self, result: dict, file: TextIO):
+        if "segments" in result:
+            result["segments"] = [asdict(segment) for segment in result["segments"]]
         json.dump(result, file)
 
 
-- 
GitLab