Robust error handling in downloading code

This commit is contained in:
Philipp Hagemeister 2011-09-03 11:32:05 +02:00
parent 802622ac1c
commit dbddab2799
1 changed files with 4 additions and 0 deletions

View File

@ -930,6 +930,7 @@ class FileDownloader(object):
if stream is None:
try:
(stream, tmpfilename) = sanitize_open(tmpfilename, open_mode)
assert stream is not None
filename = self.undo_temp_name(tmpfilename)
self.report_destination(filename)
except (OSError, IOError), err:
@ -951,6 +952,9 @@ class FileDownloader(object):
# Apply rate limit
self.slow_down(start, byte_counter - resume_len)
if stream is None:
self.trouble(u'\nERROR: Did not get any data blocks')
return False
stream.close()
self.report_finish()
if data_len is not None and byte_counter != data_len: