Skip to content

Commit b869729

Browse files
committed
fixed bug #154 "Progress bar display does not update", again...
1 parent 1683a9b commit b869729

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

progressbar/bar.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ def init(self):
279279
self.updates = 0
280280
self.end_time = None
281281
self.extra = dict()
282-
self._last_update = timeit.default_timer()
282+
self._last_update_timer = timeit.default_timer()
283283

284284
@property
285285
def percentage(self):
@@ -364,6 +364,7 @@ def data(self):
364364
365365
'''
366366
self._last_update_time = time.time()
367+
self._last_update_timer = timeit.default_timer()
367368
elapsed = self.last_update_time - self.start_time
368369
# For Python 2.7 and higher we have _`timedelta.total_seconds`, but we
369370
# want to support older versions as well
@@ -518,7 +519,7 @@ def _needs_update(self):
518519
'Returns whether the ProgressBar should redraw the line.'
519520

520521
if self.poll_interval:
521-
delta = timeit.default_timer() - self._last_update
522+
delta = timeit.default_timer() - self._last_update_timer
522523
poll_status = delta > self.poll_interval.total_seconds()
523524
else:
524525
poll_status = False
@@ -542,12 +543,6 @@ def update(self, value=None, force=False, **kwargs):
542543
self.start()
543544
return self.update(value, force=force, **kwargs)
544545

545-
minimum_update_interval = self._MINIMUM_UPDATE_INTERVAL
546-
delta = timeit.default_timer() - self._last_update
547-
if delta < minimum_update_interval and not force:
548-
# Prevent updating too often
549-
return
550-
551546
if value is not None and value is not base.UnknownLength:
552547
if self.max_value is base.UnknownLength:
553548
# Can't compare against unknown lengths so just update
@@ -562,10 +557,15 @@ def update(self, value=None, force=False, **kwargs):
562557
else:
563558
self.max_value = value
564559

565-
self._last_update = timeit.default_timer()
566560
self.previous_value = self.value
567561
self.value = value
568562

563+
minimum_update_interval = self._MINIMUM_UPDATE_INTERVAL
564+
delta = timeit.default_timer() - self._last_update_timer
565+
if delta < minimum_update_interval and not force:
566+
# Prevent updating too often
567+
return
568+
569569
# Save the updated values for dynamic messages
570570
for key in kwargs:
571571
if key in self.dynamic_messages:
@@ -632,7 +632,7 @@ def start(self, max_value=None, init=True):
632632
raise ValueError('Value out of range')
633633

634634
self.start_time = self.last_update_time = datetime.now()
635-
self._last_update = timeit.default_timer()
635+
self._last_update_timer = timeit.default_timer()
636636
self.update(self.min_value, force=True)
637637

638638
return self

0 commit comments

Comments
 (0)