Report correct percentage when download is finished
This commit is contained in:
parent
eae16eb67b
commit
d551428683
@ -244,14 +244,18 @@ class FileDownloader(object):
|
|||||||
msg = u'%s at %s (%s)' % (downloaded_str, speed_str, elapsed_str)
|
msg = u'%s at %s (%s)' % (downloaded_str, speed_str, elapsed_str)
|
||||||
self._report_progress_status(msg)
|
self._report_progress_status(msg)
|
||||||
|
|
||||||
def report_finish(self, data_len_str, tot_time):
|
def report_finish(self, percent, data_len_str, tot_time):
|
||||||
"""Report download finished."""
|
"""Report download finished."""
|
||||||
if self.params.get('noprogress', False):
|
if self.params.get('noprogress', False):
|
||||||
self.to_screen(u'[download] Download completed')
|
self.to_screen(u'[download] Download completed')
|
||||||
else:
|
else:
|
||||||
|
if percent is not None:
|
||||||
|
percent_str = self.format_percent(percent)
|
||||||
|
else:
|
||||||
|
percent_str = 'Unknown %'
|
||||||
self._report_progress_status(
|
self._report_progress_status(
|
||||||
(u'100%% of %s in %s' %
|
(u'%s of %s in %s' %
|
||||||
(data_len_str, self.format_seconds(tot_time))),
|
(percent_str, data_len_str, self.format_seconds(tot_time))),
|
||||||
is_last_line=True)
|
is_last_line=True)
|
||||||
|
|
||||||
def report_resuming_byte(self, resume_len):
|
def report_resuming_byte(self, resume_len):
|
||||||
|
@ -298,7 +298,7 @@ class F4mFD(FileDownloader):
|
|||||||
break
|
break
|
||||||
frags_filenames.append(frag_filename)
|
frags_filenames.append(frag_filename)
|
||||||
|
|
||||||
self.report_finish(format_bytes(state['downloaded_bytes']), time.time() - start)
|
self.report_finish(100, format_bytes(state['downloaded_bytes']), time.time() - start)
|
||||||
|
|
||||||
self.try_rename(tmpfilename, filename)
|
self.try_rename(tmpfilename, filename)
|
||||||
for frag_file in frags_filenames:
|
for frag_file in frags_filenames:
|
||||||
|
@ -167,7 +167,11 @@ class HttpFD(FileDownloader):
|
|||||||
self.report_error(u'Did not get any data blocks')
|
self.report_error(u'Did not get any data blocks')
|
||||||
return False
|
return False
|
||||||
stream.close()
|
stream.close()
|
||||||
self.report_finish(data_len_str, (time.time() - start))
|
if data_len is None:
|
||||||
|
percent = None
|
||||||
|
else:
|
||||||
|
percent = self.calc_percent(byte_counter, data_len)
|
||||||
|
self.report_finish(percent, data_len_str, (time.time() - start))
|
||||||
if data_len is not None and byte_counter != data_len:
|
if data_len is not None and byte_counter != data_len:
|
||||||
raise ContentTooShortError(byte_counter, int(data_len))
|
raise ContentTooShortError(byte_counter, int(data_len))
|
||||||
self.try_rename(tmpfilename, filename)
|
self.try_rename(tmpfilename, filename)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user