[ted] Fix subtitles extraction (closes #13628, closes #13629)

This commit is contained in:
Sergey M․ 2017-07-11 21:36:45 +07:00
parent 3615bfe1b4
commit f2bb33a986
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -271,20 +271,22 @@ def _talk_info(self, url, video_name):
} }
def _get_subtitles(self, video_id, talk_info): def _get_subtitles(self, video_id, talk_info):
languages = [lang['languageCode'] for lang in talk_info.get('languages', [])] sub_lang_list = {}
if languages: for language in try_get(
sub_lang_list = {} talk_info,
for l in languages: (lambda x: x['downloads']['languages'],
sub_lang_list[l] = [ lambda x: x['languages']), list):
{ lang_code = language.get('languageCode') or language.get('ianaCode')
'url': 'http://www.ted.com/talks/subtitles/id/%s/lang/%s/format/%s' % (video_id, l, ext), if not lang_code:
'ext': ext, continue
} sub_lang_list[lang_code] = [
for ext in ['ted', 'srt'] {
] 'url': 'http://www.ted.com/talks/subtitles/id/%s/lang/%s/format/%s' % (video_id, lang_code, ext),
return sub_lang_list 'ext': ext,
else: }
return {} for ext in ['ted', 'srt']
]
return sub_lang_list
def _watch_info(self, url, name): def _watch_info(self, url, name):
webpage = self._download_webpage(url, name) webpage = self._download_webpage(url, name)