7061: Wrap User...._progress in a context manager

ensure end_progress is called when exception is raised

svn: r23092
This commit is contained in:
Vassilii Khachaturov
2013-09-12 17:51:31 +00:00
parent fffeb1c0b4
commit dd8263a6e8
2 changed files with 18 additions and 6 deletions

View File

@@ -89,8 +89,12 @@ class User():
@contextmanager
def progress(self, *args, **kwargs):
self.begin_progress(*args, **kwargs)
yield self.step_progress
self.end_progress()
try:
yield self.step_progress
except:
raise
finally:
self.end_progress()
def prompt(self, title, message, accept_label, reject_label):
"""