aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/ui
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-07-23 00:18:37 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-25 09:22:06 +0100
commit19e33c10feb1637589ceb05b5e8d58b1e012ccb8 (patch)
treebbfd65c59e1a05230ad79057b62def2fe0397351 /lib/bb/ui
parentcfd481fe9799e7a4c6bfac32e56cc91cfcd81088 (diff)
downloadbitbake-19e33c10feb1637589ceb05b5e8d58b1e012ccb8.tar.gz
knotty: fix some minor bugs in BBProgress
If you specify custom widgets then we don't want to assume where the "extra" position is - you should have to specify it, and if it isn't specified it shouldn't just wipe out the last widget or you can start to see odd behaviour if you're modifying the code. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/ui')
-rw-r--r--lib/bb/ui/knotty.py25
1 files changed, 13 insertions, 12 deletions
diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py
index e8e169fe6..b92334b02 100644
--- a/lib/bb/ui/knotty.py
+++ b/lib/bb/ui/knotty.py
@@ -40,9 +40,9 @@ logger = logging.getLogger("BitBake")
interactive = sys.stdout.isatty()
class BBProgress(progressbar.ProgressBar):
- def __init__(self, msg, maxval, widgets=None):
+ def __init__(self, msg, maxval, widgets=None, extrapos=-1):
self.msg = msg
- self.extrapos = -1
+ self.extrapos = extrapos
if not widgets:
widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ',
progressbar.ETA()]
@@ -69,15 +69,16 @@ class BBProgress(progressbar.ProgressBar):
self.widgets[0] = msg
def setextra(self, extra):
- if extra:
- extrastr = str(extra)
- if extrastr[0] != ' ':
- extrastr = ' ' + extrastr
- if extrastr[-1] != ' ':
- extrastr += ' '
- else:
- extrastr = ' '
- self.widgets[self.extrapos] = extrastr
+ if self.extrapos > -1:
+ if extra:
+ extrastr = str(extra)
+ if extrastr[0] != ' ':
+ extrastr = ' ' + extrastr
+ if extrastr[-1] != ' ':
+ extrastr += ' '
+ else:
+ extrastr = ' '
+ self.widgets[self.extrapos] = extrastr
def _need_update(self):
# We always want the bar to print when update() is called
@@ -241,7 +242,7 @@ class TerminalFilter(object):
start_time = activetasks[t].get("starttime", None)
if not pbar or pbar.bouncing != (progress < 0):
if progress < 0:
- pbar = BBProgress("0: %s (pid %s) " % (activetasks[t]["title"], t), 100, widgets=[progressbar.BouncingSlider()])
+ pbar = BBProgress("0: %s (pid %s) " % (activetasks[t]["title"], t), 100, widgets=[progressbar.BouncingSlider(), ''], extrapos=2)
pbar.bouncing = True
else:
pbar = BBProgress("0: %s (pid %s) " % (activetasks[t]["title"], t), 100)