diff --git a/progress/__init__.py b/progress/__init__.py index 596eea7..14aa1c0 100644 --- a/progress/__init__.py +++ b/progress/__init__.py @@ -126,10 +126,13 @@ class Infinite(object): self.update() def iter(self, it): + self.iter_value = None with self: for x in it: + self.iter_value = x yield x self.next() + del self.iter_value def __enter__(self): self.start() @@ -177,7 +180,10 @@ class Progress(Infinite): except TypeError: pass + self.iter_value = None with self: for x in it: + self.iter_value = x yield x self.next() + del self.iter_value diff --git a/test_progress.py b/test_progress.py index 55f213e..c15d350 100755 --- a/test_progress.py +++ b/test_progress.py @@ -20,9 +20,9 @@ def sleep(): for bar_cls in (Bar, ChargingBar, FillingSquaresBar, FillingCirclesBar): - suffix = '%(index)d/%(max)d [%(elapsed)d / %(eta)d / %(eta_td)s]' + suffix = '%(index)d/%(max)d [%(elapsed)d / %(eta)d / %(eta_td)s] (%(iter_value)s)' bar = bar_cls(bar_cls.__name__, suffix=suffix) - for i in bar.iter(range(200)): + for i in bar.iter(range(200, 400)): sleep() for bar_cls in (IncrementalBar, PixelBar, ShadyBar):