diff options
Diffstat (limited to 'youtube_dl/utils.py')
| -rw-r--r-- | youtube_dl/utils.py | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 59eeaf4a8..f78b5fe78 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -61,6 +61,11 @@ 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  except ImportError: @@ -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.          """ @@ -497,11 +502,12 @@ class ExtractorError(Exception):          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.' +            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. Make sure you are using the latest version; type  youtube-dl -U  to update.'          super(ExtractorError, self).__init__(msg)          self.traceback = tb          self.exc_info = sys.exc_info()  # preserve original exception +        self.cause = cause      def format_traceback(self):          if self.traceback is None: @@ -657,6 +663,9 @@ def determine_ext(url, default_ext=u'unknown_video'):      else:          return default_ext +def subtitles_filename(filename, sub_lang, sub_format): +    return filename.rsplit('.', 1)[0] + u'.' + sub_lang + u'.' + sub_format +  def date_from_str(date_str):      """      Return a datetime object from a string in the format YYYYMMDD or | 
