projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Python 3 version of HTMLParser
[youtube-dl]
/
youtube_dl
/
FileDownloader.py
diff --git
a/youtube_dl/FileDownloader.py
b/youtube_dl/FileDownloader.py
index 815b8129619aec4536b5e071a245f49e2658e4b6..868023db9f2d1233ed96ac680a8b0966336f27ef 100644
(file)
--- a/
youtube_dl/FileDownloader.py
+++ b/
youtube_dl/FileDownloader.py
@@
-9,7
+9,6
@@
import socket
import subprocess
import sys
import time
import subprocess
import sys
import time
-import urllib2
if os.name == 'nt':
import ctypes
if os.name == 'nt':
import ctypes
@@
-202,7
+201,7
@@
class FileDownloader(object):
def fixed_template(self):
"""Checks if the output template is fixed."""
def fixed_template(self):
"""Checks if the output template is fixed."""
- return (re.search(u
r'(?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.
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))
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):
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)
"""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):
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
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
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)
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
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)
else:
try:
success = self._do_download(filename, info_dict)
- except (OSError, IOError)
,
err:
+ except (OSError, IOError)
as
err:
raise UnavailableVideoError
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
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)
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
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'}
# 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)):
# 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']
try:
if count == 0 and 'urlhandle' in info_dict:
data = info_dict['urlhandle']
- data =
urllib2
.urlopen(request)
+ data =
compat_urllib_request
.urlopen(request)
break
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
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
# 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']
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:
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)
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)
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):
self.trouble(u'\nERROR: unable to write data: %s' % str(err))
return False
if not self.params.get('noresizebuffer', False):