Do not show bug report for errors that are to be expected (Closes #973)
authorPhilipp Hagemeister <phihag@phihag.de>
Tue, 2 Jul 2013 06:40:21 +0000 (08:40 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Tue, 2 Jul 2013 06:40:21 +0000 (08:40 +0200)
youtube_dl/extractor/youtube.py
youtube_dl/utils.py

index b526e0c5375737e1d653116185d02415a6af6284..14a8bd6ea9ead38b15ae7fe41366248e6507882b 100644 (file)
@@ -441,7 +441,7 @@ class YoutubeIE(InfoExtractor):
                 break
         if 'token' not in video_info:
             if 'reason' in video_info:
-                raise ExtractorError(u'YouTube said: %s' % video_info['reason'][0])
+                raise ExtractorError(u'YouTube said: %s' % video_info['reason'][0], expected=True)
             else:
                 raise ExtractorError(u'"token" parameter not in video info for unknown reason')
 
index f9e7ce956573e85289466f775b5e6e295dabb968..9137a4f70be1423c20b9c2107f15db2c91abdada 100644 (file)
@@ -470,10 +470,14 @@ def make_HTTPS_handler(opts):
 
 class ExtractorError(Exception):
     """Error during info extraction."""
-    def __init__(self, msg, tb=None):
-        """ tb, if given, is the original traceback (so that it can be printed out). """
-
-        if not sys.exc_info()[0] in (compat_urllib_error.URLError, socket.timeout, UnavailableVideoError):
+    def __init__(self, msg, tb=None, expected=False):
+        """ tb, if given, is the original traceback (so that it can be printed out).
+        If expected is set, this is a normal error message and most likely not a bug in youtube-dl.
+        """
+
+        if sys.exc_info()[0] in (compat_urllib_error.URLError, socket.timeout, UnavailableVideoError):
+            expected = True
+        if not expected:
             msg = msg + u'; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output.'
         super(ExtractorError, self).__init__(msg)