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