mirror of
https://github.com/yt-dlp/yt-dlp
synced 2024-12-29 22:24:25 +01:00
fall-back to the old way to fetch subtitles, if needed
This commit is contained in:
parent
651bae3d23
commit
142f2c8e99
1 changed files with 19 additions and 10 deletions
|
@ -308,17 +308,26 @@ class VikiIE(VikiBaseIE):
|
||||||
'url': thumbnail.get('url'),
|
'url': thumbnail.get('url'),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
subtitles = {}
|
||||||
|
try:
|
||||||
|
# New way to fetch subtitles
|
||||||
new_video = self._download_json(
|
new_video = self._download_json(
|
||||||
'https://www.viki.com/api/videos/%s' % video_id, video_id,
|
'https://www.viki.com/api/videos/%s' % video_id, video_id,
|
||||||
'Downloading new video JSON to get subtitles', headers={'x-viki-app-ver': '2.2.5.1428709186'}, expected_status=[200, 400, 404])
|
'Downloading new video JSON to get subtitles', headers={'x-viki-app-ver': '2.2.5.1428709186'}, expected_status=[200, 400, 404])
|
||||||
|
|
||||||
subtitles = {}
|
|
||||||
for sub in new_video.get('streamSubtitles').get('dash'):
|
for sub in new_video.get('streamSubtitles').get('dash'):
|
||||||
subtitles[sub.get('srclang')] = [{
|
subtitles[sub.get('srclang')] = [{
|
||||||
'ext': 'vtt',
|
'ext': 'vtt',
|
||||||
'url': sub.get('src'),
|
'url': sub.get('src'),
|
||||||
'completion': sub.get('percentage'),
|
'completion': sub.get('percentage'),
|
||||||
}]
|
}]
|
||||||
|
except AttributeError:
|
||||||
|
# fall-back to the old way if there isn't a streamSubtitles attribute
|
||||||
|
for subtitle_lang, _ in video.get('subtitle_completions', {}).items():
|
||||||
|
subtitles[subtitle_lang] = [{
|
||||||
|
'ext': subtitles_format,
|
||||||
|
'url': self._prepare_call(
|
||||||
|
'videos/%s/subtitles/%s.%s' % (video_id, subtitle_lang, subtitles_format)),
|
||||||
|
} for subtitles_format in ('srt', 'vtt')]
|
||||||
|
|
||||||
result = {
|
result = {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
|
|
Loading…
Reference in a new issue