|
|
|
@ -115,6 +115,10 @@ class FileDownloader(object):
|
|
|
|
|
return '%10s' % '---b/s'
|
|
|
|
|
return '%10s' % ('%s/s' % format_bytes(speed))
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def format_retries(retries):
|
|
|
|
|
return 'inf' if retries == float('inf') else '%.0f' % retries
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def best_block_size(elapsed_time, bytes):
|
|
|
|
|
new_min = max(bytes / 2.0, 1.0)
|
|
|
|
@ -297,7 +301,9 @@ class FileDownloader(object):
|
|
|
|
|
|
|
|
|
|
def report_retry(self, count, retries):
|
|
|
|
|
"""Report retry in case of HTTP error 5xx"""
|
|
|
|
|
self.to_screen('[download] Got server HTTP error. Retrying (attempt %d of %.0f)...' % (count, retries))
|
|
|
|
|
self.to_screen(
|
|
|
|
|
'[download] Got server HTTP error. Retrying (attempt %d of %s)...'
|
|
|
|
|
% (count, self.format_retries(retries)))
|
|
|
|
|
|
|
|
|
|
def report_file_already_downloaded(self, file_name):
|
|
|
|
|
"""Report file has already been fully downloaded."""
|
|
|
|
|