diff --git a/progress/__init__.py b/progress/__init__.py index 5107bc0..a860e2c 100644 --- a/progress/__init__.py +++ b/progress/__init__.py @@ -73,10 +73,12 @@ class Infinite(object): self.update() def iter(self, it): - for x in it: - yield x - self.next() - self.finish() + try: + for x in it: + yield x + self.next() + finally: + self.finish() class Progress(Infinite): @@ -117,7 +119,9 @@ class Progress(Infinite): except TypeError: pass - for x in it: - yield x - self.next() - self.finish() + try: + for x in it: + yield x + self.next() + finally: + self.finish()