diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2013-04-13 17:50:39 +0000 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2013-04-13 17:50:39 +0000 |
commit | 02752ffbe65c295499a8beb4ac948646dffb96fd (patch) | |
tree | 215f0a410916dd422f3e3d8b9000550cdc6101f4 | |
parent | e42b617e5e30a8272173e85973f573625c751fe5 (diff) | |
download | live-02752ffbe65c295499a8beb4ac948646dffb96fd.tar.gz |
Prevent regress. debootstrap can give lower percentage when downloading (bug?)
-rw-r--r-- | lib/snack/__init__.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/snack/__init__.py b/lib/snack/__init__.py index d196f49..31794ee 100644 --- a/lib/snack/__init__.py +++ b/lib/snack/__init__.py @@ -54,6 +54,7 @@ class ProgressBar(object): _form = None _scale = None _grid = None + _allow_back = False @property def text(self): @@ -75,21 +76,22 @@ class ProgressBar(object): i = math.ceil(i) if i > self._top: i = self._top - self._progress = int(i) - self._scale.set(self._progress) - self._refresh() - - def advance(self, increment = 1): - self.progress = self._progress + increment - + i = int(i) + if i > self._progress or self._allow_back: + self._progress = int(i) + self._scale.set(self._progress) + self._refresh() + def advance(self, i=1): + self.progress = self._progress + i def _refresh(self): self._form.draw() self._screen.refresh() - def __init__(self, screen, width=40, title='', text=' ', top=100): + def __init__(self, screen, width=40, title='', text=' ', top=100, allow_back=False): + self._allow_back = allow_back self._screen = screen self._top = top @@ -107,6 +109,7 @@ class ProgressBar(object): self._form = Form() self._form.add(self._textbox) self._form.add(self._scale) + self._refresh() def __del__(self): |