aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrankZ85 <43293037+FrankZ85@users.noreply.github.com>2023-11-15 23:38:52 +0100
committerGitHub <noreply@github.com>2023-11-15 22:38:52 +0000
commit0f634dba3afdc429ece8839b02f6d56c27b7973a (patch)
tree4b2c637376bfd48ec05d5811f2cd38b47533c6cd
parent21dc069bea2d4d99345dd969e098f4535c751d45 (diff)
[ie/tv5mondeplus] Extract subtitles (#4209)
Closes #4205 Authored by: FrankZ85
-rw-r--r--yt_dlp/extractor/tv5mondeplus.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/yt_dlp/extractor/tv5mondeplus.py b/yt_dlp/extractor/tv5mondeplus.py
index 4da1b26d1..a445fae85 100644
--- a/yt_dlp/extractor/tv5mondeplus.py
+++ b/yt_dlp/extractor/tv5mondeplus.py
@@ -84,6 +84,13 @@ class TV5MondePlusIE(InfoExtractor):
}]
_GEO_BYPASS = False
+ @staticmethod
+ def _extract_subtitles(data_captions):
+ subtitles = {}
+ for f in traverse_obj(data_captions, ('files', lambda _, v: url_or_none(v['file']))):
+ subtitles.setdefault(f.get('label') or 'fra', []).append({'url': f['file']})
+ return subtitles
+
def _real_extract(self, url):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
@@ -176,6 +183,8 @@ class TV5MondePlusIE(InfoExtractor):
'duration': duration,
'upload_date': upload_date,
'formats': formats,
+ 'subtitles': self._extract_subtitles(self._parse_json(
+ traverse_obj(vpl_data, ('data-captions', {str}), default='{}'), display_id, fatal=False)),
'series': series,
'episode': episode,
}