diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-03-06 13:28:48 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-03-06 17:38:24 +0000 |
commit | 8eeccf73185d986c6abd6426b1d1e72da3a982df (patch) | |
tree | 959ab64f76a9ffbd09a5aad21d117ed416896a7c /lib/bb | |
parent | 1b026644c3312aa3e0a01cfa31758963926b091a (diff) | |
download | bitbake-8eeccf73185d986c6abd6426b1d1e72da3a982df.tar.gz |
knotty: Correctly handle multiple line items
Currently the footer code doesn't quite handle multiline items correct.
Fix this to do so.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb')
-rw-r--r-- | lib/bb/ui/knotty.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 528b8a076..1bcdc0023 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -292,9 +292,9 @@ class TerminalFilter(object): progress = 0 content = self.main_progress.update(progress) print('') - lines = 1 + int(len(content) / (self.columns + 1)) + lines = self.getlines(content) if self.quiet == 0: - for tasknum, task in enumerate(tasks[:(self.rows - 2)]): + for tasknum, task in enumerate(tasks[:(self.rows - 1 - lines)]): if isinstance(task, tuple): pbar, progress, rate, start_time = task if not pbar.start_time: @@ -311,11 +311,17 @@ class TerminalFilter(object): else: content = "%s: %s" % (tasknum, task) print(content) - lines = lines + 1 + int(len(content) / (self.columns + 1)) + lines = lines + self.getlines(content) self.footer_present = lines self.lastpids = runningpids[:] self.lastcount = self.helper.tasknumber_current + def getlines(self, content): + lines = 0 + for line in content.split("\n"): + lines = lines + 1 + int(len(line) / (self.columns + 1)) + return lines + def finish(self): if self.stdinbackup: fd = sys.stdin.fileno() |