X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Futils.py;fp=youtube_dl%2Futils.py;h=f78b5fe7889e6493ed8d87046dd7294fb3e3809f;hb=2eabb80254f48d63a464247140d8e04a73418ded;hp=52cfb8a6d18e69be0db213bbf3f4da63f1fcd7d9;hpb=44586389e4676dfd926255cf76e36684dcf4742d;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 52cfb8a6d..f78b5fe78 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -60,6 +60,11 @@ try: except ImportError: # Python 2 import httplib as compat_http_client +try: + from http.error import HTTPError as compat_HTTPError +except ImportError: # Python 2 + from urllib2 import HTTPError as compat_HTTPError + try: from subprocess import DEVNULL compat_subprocess_get_DEVNULL = lambda: DEVNULL @@ -489,7 +494,7 @@ def make_HTTPS_handler(opts): class ExtractorError(Exception): """Error during info extraction.""" - def __init__(self, msg, tb=None, expected=False): + def __init__(self, msg, tb=None, expected=False, cause=None): """ 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. """ @@ -502,6 +507,7 @@ class ExtractorError(Exception): self.traceback = tb self.exc_info = sys.exc_info() # preserve original exception + self.cause = cause def format_traceback(self): if self.traceback is None: