commit 494ab6db7394b39126d775efe03eb6dab428eff9
parent 107701fcfced36af62465f4a56a0a9723f5253bf
Author: Sergey M․ <dstftw@gmail.com>
Date: Wed, 20 Apr 2016 22:14:32 +0600
[youtube] Capture and output login error message
Diffstat:
1 file changed, 6 insertions(+), 0 deletions(-)
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
@@ -125,6 +125,12 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
if login_results is False:
return False
+ error_msg = self._html_search_regex(
+ r'<[^>]+id="errormsg_0_Passwd"[^>]*>([^<]+)<',
+ login_results, 'error message', default=None)
+ if error_msg:
+ raise ExtractorError('Unable to login: %s' % error_msg, expected=True)
+
if re.search(r'id="errormsg_0_Passwd"', login_results) is not None:
raise ExtractorError('Please use your account password and a two-factor code instead of an application-specific password.', expected=True)