+ return (None, str_lang, srt)
+
+ def _extract_subtitle(self, video_id):
+ self.report_video_subtitles_download(video_id)
+ srt_lang_list = self._get_available_subtitles(video_id)
+
+ if self._downloader.params.get('subtitleslang', False):
+ srt_lang = self._downloader.params.get('subtitleslang')
+ elif 'en' in srt_lang_list:
+ srt_lang = 'en'
+ else:
+ srt_lang = list(srt_lang_list.keys())[0]
+ if not srt_lang in srt_lang_list:
+ return (u'WARNING: no closed captions found in the specified language "%s"' % srt_lang, None)
+
+ sub = self._request_subtitle(srt_lang, srt_lang_list[srt_lang].encode('utf-8'), video_id)
+ return [sub]
+
+ def _extract_all_subtitles(self, video_id):
+ self.report_video_subtitles_download(video_id)
+ srt_lang_list = self._get_available_subtitles(video_id)
+ subs = []
+ for srt_lang in srt_lang_list:
+ sub = self._request_subtitle(srt_lang, srt_lang_list[srt_lang].encode('utf-8'), video_id)
+ subs.append(sub)
+ return subs