From b7ab4b83e9ab6b27688ec12a687b13c1b2445af6 Mon Sep 17 00:00:00 2001 From: stabbedbybrick <125766685+stabbedbybrick@users.noreply.github.com> Date: Sun, 8 Dec 2024 22:27:58 +0100 Subject: [PATCH] fix(ALL4): Fix missing subtitles --- services/ALL4/__init__.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/services/ALL4/__init__.py b/services/ALL4/__init__.py index 4483db4..6baeb8e 100644 --- a/services/ALL4/__init__.py +++ b/services/ALL4/__init__.py @@ -243,9 +243,23 @@ class ALL4(Service): tracks = DASH.from_url(self.manifest, self.session).to_tracks(title.language) tracks.videos[0].data = data - if subtitle is None: + # manifest subtitles are sometimes empty even if they exist + # so we clear them and add the subtitles manually + tracks.subtitles.clear() + if subtitle is not None: + tracks.add( + Subtitle( + id_=hashlib.md5(subtitle.encode()).hexdigest()[0:6], + url=subtitle, + codec=Subtitle.Codec.from_mime(subtitle[-3:]), + language=title.language, + is_original_lang=True, + forced=False, + sdh=False, + ) + ) + else: self.log.warning("- Subtitles are either missing or empty") - tracks.subtitles = [track for track in tracks.subtitles if subtitle is not None] return tracks