mirror of
https://github.com/l1ving/youtube-dl
synced 2025-02-11 08:13:18 +08:00
replace member variable by a special dictionary key.
This commit is contained in:
parent
577dae1dfa
commit
9c4aa5354a
@ -287,7 +287,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
_subtitle_error_message = u''
|
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -376,11 +375,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
try:
|
try:
|
||||||
sub_list = compat_urllib_request.urlopen(request).read().decode('utf-8')
|
sub_list = compat_urllib_request.urlopen(request).read().decode('utf-8')
|
||||||
except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
|
except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
|
||||||
self._subtitle_error_message = u'unable to download video subtitles: %s' % compat_str(err)
|
return {'error': u'unable to download video subtitles: %s' % compat_str(err)}
|
||||||
return {}
|
|
||||||
sub_lang_list = re.findall(r'name="([^"]*)"[^>]+lang_code="([\w\-]+)"', sub_list)
|
sub_lang_list = re.findall(r'name="([^"]*)"[^>]+lang_code="([\w\-]+)"', sub_list)
|
||||||
if len(sub_lang_list) == 0:
|
if len(sub_lang_list) == 0:
|
||||||
self._subtitle_error_message = u'video doesn\'t have subtitles'
|
return {'error': u'video doesn\'t have subtitles'}
|
||||||
return dict((l[1], l[0]) for l in sub_lang_list)
|
return dict((l[1], l[0]) for l in sub_lang_list)
|
||||||
|
|
||||||
def _list_available_subtitles(self, video_id):
|
def _list_available_subtitles(self, video_id):
|
||||||
@ -443,8 +441,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
"""
|
"""
|
||||||
sub_lang_list = self._get_available_subtitles(video_id)
|
sub_lang_list = self._get_available_subtitles(video_id)
|
||||||
sub_format = self._downloader.params.get('subtitlesformat')
|
sub_format = self._downloader.params.get('subtitlesformat')
|
||||||
if not sub_lang_list: #There was some error, it didn't get the available subtitles
|
if 'error' in sub_lang_list: #There was some error, it didn't get the available subtitles
|
||||||
return [(self._subtitle_error_message, None, None)]
|
return [(sub_lang_list['error'], None, None)]
|
||||||
if self._downloader.params.get('subtitleslang', False):
|
if self._downloader.params.get('subtitleslang', False):
|
||||||
sub_lang = self._downloader.params.get('subtitleslang')
|
sub_lang = self._downloader.params.get('subtitleslang')
|
||||||
elif 'en' in sub_lang_list:
|
elif 'en' in sub_lang_list:
|
||||||
@ -460,9 +458,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
def _extract_all_subtitles(self, video_id):
|
def _extract_all_subtitles(self, video_id):
|
||||||
sub_lang_list = self._get_available_subtitles(video_id)
|
sub_lang_list = self._get_available_subtitles(video_id)
|
||||||
sub_format = self._downloader.params.get('subtitlesformat')
|
sub_format = self._downloader.params.get('subtitlesformat')
|
||||||
if not sub_lang_list: #There was some error, it didn't get the available subtitles
|
if 'error' in sub_lang_list: #There was some error, it didn't get the available subtitles
|
||||||
print(self._subtitle_error_message)
|
return [(sub_lang_list['error'], None, None)]
|
||||||
return [(self._subtitle_error_message, None, None)]
|
|
||||||
subtitles = []
|
subtitles = []
|
||||||
for sub_lang in sub_lang_list:
|
for sub_lang in sub_lang_list:
|
||||||
subtitle = self._request_subtitle(sub_lang, sub_lang_list[sub_lang].encode('utf-8'), video_id, sub_format)
|
subtitle = self._request_subtitle(sub_lang, sub_lang_list[sub_lang].encode('utf-8'), video_id, sub_format)
|
||||||
|
Loading…
Reference in New Issue
Block a user