X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=youtube_dl%2FFileDownloader.py;h=868023db9f2d1233ed96ac680a8b0966336f27ef;hb=a8156c1d2e4b2a7ac5e034c247c6fccaca15a21d;hp=815b8129619aec4536b5e071a245f49e2658e4b6;hpb=96731798dbdd5a8878ac5cf29b69c6c7c821311b;p=youtube-dl diff --git a/youtube_dl/FileDownloader.py b/youtube_dl/FileDownloader.py index 815b81296..868023db9 100644 --- a/youtube_dl/FileDownloader.py +++ b/youtube_dl/FileDownloader.py @@ -9,7 +9,6 @@ import socket import subprocess import sys import time -import urllib2 if os.name == 'nt': import ctypes @@ -202,7 +201,7 @@ class FileDownloader(object): def fixed_template(self): """Checks if the output template is fixed.""" - return (re.search(ur'(?u)%\(.+?\)s', self.params['outtmpl']) is None) + return (re.search(u'(?u)%\\(.+?\\)s', self.params['outtmpl']) is None) def trouble(self, message=None): """Determine action to take when a download problem appears. @@ -247,7 +246,7 @@ class FileDownloader(object): if old_filename == new_filename: return os.rename(encodeFilename(old_filename), encodeFilename(new_filename)) - except (IOError, OSError), err: + except (IOError, OSError) as err: self.trouble(u'ERROR: unable to rename file') def try_utime(self, filename, last_modified_hdr): @@ -305,7 +304,7 @@ class FileDownloader(object): """Report file has already been fully downloaded.""" try: self.to_screen(u'[download] %s has already been downloaded' % file_name) - except (UnicodeEncodeError), err: + except (UnicodeEncodeError) as err: self.to_screen(u'[download] The file has already been downloaded') def report_unable_to_resume(self): @@ -336,7 +335,7 @@ class FileDownloader(object): filename = self.params['outtmpl'] % template_dict return filename - except (ValueError, KeyError), err: + except (ValueError, KeyError) as err: self.trouble(u'ERROR: invalid system charset or erroneous output template') return None @@ -402,7 +401,7 @@ class FileDownloader(object): dn = os.path.dirname(encodeFilename(filename)) if dn != '' and not os.path.exists(dn): # dn is already encoded os.makedirs(dn) - except (OSError, IOError), err: + except (OSError, IOError) as err: self.trouble(u'ERROR: unable to create directory ' + compat_str(err)) return @@ -459,19 +458,19 @@ class FileDownloader(object): else: try: success = self._do_download(filename, info_dict) - except (OSError, IOError), err: + except (OSError, IOError) as err: raise UnavailableVideoError - except (urllib2.URLError, httplib.HTTPException, socket.error), err: + except (compat_urllib_error.URLError, httplib.HTTPException, socket.error) as err: self.trouble(u'ERROR: unable to download video data: %s' % str(err)) return - except (ContentTooShortError, ), err: + except (ContentTooShortError, ) as err: self.trouble(u'ERROR: content too short (expected %s bytes and served %s)' % (err.expected, err.downloaded)) return if success: try: self.post_process(filename, info_dict) - except (PostProcessingError), err: + except (PostProcessingError) as err: self.trouble(u'ERROR: postprocessing: %s' % str(err)) return @@ -585,8 +584,8 @@ class FileDownloader(object): # Do not include the Accept-Encoding header headers = {'Youtubedl-no-compression': 'True'} - basic_request = urllib2.Request(url, None, headers) - request = urllib2.Request(url, None, headers) + basic_request = compat_urllib_request.Request(url, None, headers) + request = compat_urllib_request.Request(url, None, headers) # Establish possible resume length if os.path.isfile(encodeFilename(tmpfilename)): @@ -610,9 +609,9 @@ class FileDownloader(object): try: if count == 0 and 'urlhandle' in info_dict: data = info_dict['urlhandle'] - data = urllib2.urlopen(request) + data = compat_urllib_request.urlopen(request) break - except (urllib2.HTTPError, ), err: + except (compat_urllib_error.HTTPError, ) as err: if (err.code < 500 or err.code >= 600) and err.code != 416: # Unexpected HTTP error raise @@ -620,9 +619,9 @@ class FileDownloader(object): # Unable to resume (requested range not satisfiable) try: # Open the connection again without the range header - data = urllib2.urlopen(basic_request) + data = compat_urllib_request.urlopen(basic_request) content_length = data.info()['Content-Length'] - except (urllib2.HTTPError, ), err: + except (compat_urllib_error.HTTPError, ) as err: if err.code < 500 or err.code >= 600: raise else: @@ -676,12 +675,12 @@ class FileDownloader(object): assert stream is not None filename = self.undo_temp_name(tmpfilename) self.report_destination(filename) - except (OSError, IOError), err: + except (OSError, IOError) as err: self.trouble(u'ERROR: unable to open for writing: %s' % str(err)) return False try: stream.write(data_block) - except (IOError, OSError), err: + except (IOError, OSError) as err: self.trouble(u'\nERROR: unable to write data: %s' % str(err)) return False if not self.params.get('noresizebuffer', False):