|
|
|
@ -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:
|
|
|
|
|