Fix a bug in progress display code. BZ 847105.

epel9
Zdeněk Pavlas 13 years ago
parent 83cfdd9ddf
commit 651b5b9090

@ -3,7 +3,7 @@
Summary: A high-level cross-protocol url-grabber Summary: A high-level cross-protocol url-grabber
Name: python-urlgrabber Name: python-urlgrabber
Version: 3.9.1 Version: 3.9.1
Release: 16%{?dist} Release: 17%{?dist}
Source0: urlgrabber-%{version}.tar.gz Source0: urlgrabber-%{version}.tar.gz
Patch1: urlgrabber-HEAD.patch Patch1: urlgrabber-HEAD.patch
@ -44,6 +44,9 @@ rm -rf $RPM_BUILD_ROOT
%attr(0755,root,root) %{_libexecdir}/urlgrabber-ext-down %attr(0755,root,root) %{_libexecdir}/urlgrabber-ext-down
%changelog %changelog
* Wed Aug 10 2012 Zdeněk Pavlas <zpavlas@redhat.com> - 3.9.1-17
- Fix a bug in progress display code. BZ 847105.
* Wed Aug 8 2012 Zdeněk Pavlas <zpavlas@redhat.com> - 3.9.1-16 * Wed Aug 8 2012 Zdeněk Pavlas <zpavlas@redhat.com> - 3.9.1-16
- Update to latest head. - Update to latest head.
- Improved multi-file progress, small bugfixes. - Improved multi-file progress, small bugfixes.

@ -1710,7 +1710,7 @@ index dad410b..ac78b34 100644
def urlopen(self, url, **kwargs): def urlopen(self, url, **kwargs):
kw = dict(kwargs) kw = dict(kwargs)
diff --git a/urlgrabber/progress.py b/urlgrabber/progress.py diff --git a/urlgrabber/progress.py b/urlgrabber/progress.py
index dd07c6a..5a02707 100644 index dd07c6a..ad57dbc 100644
--- a/urlgrabber/progress.py --- a/urlgrabber/progress.py
+++ b/urlgrabber/progress.py +++ b/urlgrabber/progress.py
@@ -211,6 +211,21 @@ def text_meter_total_size(size, downloaded=0): @@ -211,6 +211,21 @@ def text_meter_total_size(size, downloaded=0):
@ -1832,7 +1832,7 @@ index dd07c6a..5a02707 100644
pd = 100 * (self.re.fraction_read() or 0) + 0.49 pd = 100 * (self.re.fraction_read() or 0) + 0.49
dt = self.re.elapsed_time() dt = self.re.elapsed_time()
rt = self.re.remaining_time() rt = self.re.remaining_time()
@@ -491,9 +518,39 @@ class TextMultiFileMeter(MultiFileMeter): @@ -491,9 +518,41 @@ class TextMultiFileMeter(MultiFileMeter):
ftd = format_number(td) + 'B' ftd = format_number(td) + 'B'
fdt = format_time(dt, 1) fdt = format_time(dt, 1)
ftt = format_time(tt, 1) ftt = format_time(tt, 1)
@ -1846,7 +1846,9 @@ index dd07c6a..5a02707 100644
+ # cycle through active meters + # cycle through active meters
+ if now > self.index_time: + if now > self.index_time:
+ self.index_time = now + 1.0 + self.index_time = now + 1.0
+ self.index = (self.index + 1) % len(self.meters) + self.index += 1
+ if self.index >= len(self.meters):
+ self.index = 0
+ meter = self.meters[self.index] + meter = self.meters[self.index]
+ text = meter.text or meter.basename + text = meter.text or meter.basename
+ if tf > 1: + if tf > 1:
@ -1875,7 +1877,7 @@ index dd07c6a..5a02707 100644
self.fo.flush() self.fo.flush()
finally: finally:
self._lock.release() self._lock.release()
@@ -502,18 +559,30 @@ class TextMultiFileMeter(MultiFileMeter): @@ -502,18 +561,30 @@ class TextMultiFileMeter(MultiFileMeter):
self._lock.acquire() self._lock.acquire()
try: try:
format = "%-30.30s %6.6s %8.8s %9.9s" format = "%-30.30s %6.6s %8.8s %9.9s"
@ -1912,7 +1914,7 @@ index dd07c6a..5a02707 100644
def _do_failure_meter(self, meter, message, now): def _do_failure_meter(self, meter, message, now):
self._lock.acquire() self._lock.acquire()
@@ -536,15 +605,6 @@ class TextMultiFileMeter(MultiFileMeter): @@ -536,15 +607,6 @@ class TextMultiFileMeter(MultiFileMeter):
pass pass
finally: finally:
self._lock.release() self._lock.release()
@ -1928,7 +1930,7 @@ index dd07c6a..5a02707 100644
###################################################################### ######################################################################
# support classes and functions # support classes and functions
@@ -658,6 +718,8 @@ def format_time(seconds, use_hours=0): @@ -658,6 +720,8 @@ def format_time(seconds, use_hours=0):
if seconds is None or seconds < 0: if seconds is None or seconds < 0:
if use_hours: return '--:--:--' if use_hours: return '--:--:--'
else: return '--:--' else: return '--:--'

Loading…
Cancel
Save