Browse Source

[youtube] Capture and output login error message

Sergey M․ 9 years ago
parent
commit
494ab6db73
1 changed files with 6 additions and 0 deletions
  1. 6 0
      youtube_dl/extractor/youtube.py

+ 6 - 0
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)