[televizeseznam] extract subtitles correctly

This commit is contained in:
Petr Vaněk 2020-01-15 11:35:59 +01:00
parent 77266983af
commit 792458fa26

View File

@ -41,15 +41,15 @@ class TelevizeSeznamIE(InfoExtractor):
subtitles = {} subtitles = {}
for k, v in play_list.items(): for k, v in play_list.items():
subtitles.update({ if v.get('language'):
v['language']: { for ext in v.get('urls'):
'ext': 'srt', subtitles.setdefault(v['language'], []).append({
'url': urljoin(spl_url, v['urls']['srt']) 'ext': ext,
} 'url': urljoin(spl_url, v['urls'].get(ext))
}) })
return subtitles return subtitles
def extract_formats(self, spl_url, play_list, subtitles): def extract_formats(self, spl_url, play_list):
formats = [] formats = []
for r, v in play_list.items(): for r, v in play_list.items():
format = { format = {
@ -57,7 +57,6 @@ class TelevizeSeznamIE(InfoExtractor):
'url': urljoin(spl_url, v.get('url')), 'url': urljoin(spl_url, v.get('url')),
'protocol': 'https', 'protocol': 'https',
'ext': 'mp4', 'ext': 'mp4',
'subtitles': subtitles,
} }
if v.get('resolution'): if v.get('resolution'):
format.update({ 'width': v['resolution'][0], 'height': v['resolution'][1] }) format.update({ 'width': v['resolution'][0], 'height': v['resolution'][1] })
@ -85,13 +84,13 @@ class TelevizeSeznamIE(InfoExtractor):
spl_url = metadata['Location'] spl_url = metadata['Location']
metadata = self._download_json(spl_url, video_id, 'Redirected -> Downloading playlist') metadata = self._download_json(spl_url, video_id, 'Redirected -> Downloading playlist')
play_list = metadata['data'] play_list = metadata['data']
subtitles = self.extract_subtitles(spl_url, play_list.get('subtitles')) formats = self.extract_formats(spl_url, play_list['mp4'])
formats = self.extract_formats(spl_url, play_list['mp4'], subtitles)
return { return {
'id': video_id, 'id': video_id,
'display_id': display_id, 'display_id': display_id,
'title': data['episode'].get('name'), 'title': data['episode'].get('name'),
'description': data['episode'].get('perex'), 'description': data['episode'].get('perex'),
'subtitles': self.extract_subtitles(spl_url, play_list.get('subtitles')),
'formats': formats 'formats': formats
} }