This is an automated email from the ASF dual-hosted git repository. tvb pushed a commit to branch jonathan/progress in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 9d3ef2f94fcfe939e2069fa98305b0c3debd7fea Author: Jonathan Maw <[email protected]> AuthorDate: Fri May 24 14:06:47 2019 +0100 Make progress-reporting not print a new line for every update --- src/buildstream/_context.py | 14 ++++++++++++-- src/buildstream/_progress.py | 2 -- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/buildstream/_context.py b/src/buildstream/_context.py index f01df7a..8345ec1 100644 --- a/src/buildstream/_context.py +++ b/src/buildstream/_context.py @@ -18,6 +18,7 @@ # Tristan Van Berkom <[email protected]> import os +import sys import shutil import datetime from collections import deque @@ -169,6 +170,7 @@ class Context(): self._cascache = None self._casquota = None self._directory = directory + self._last_progress_length = 0 # load() # @@ -560,12 +562,20 @@ class Context(): detail=None, silent_nested=False): with self.timed_activity(activity_name, unique_id=unique_id, detail=detail, silent_nested=silent_nested): + self._last_progress_length = 0 progress = Progress(self, activity_name, total=total, unique_id=unique_id) yield progress def report_progress(self, message_text, unique_id=None): - message = Message(unique_id, MessageType.INFO, message_text) - self.message(message) + new_len = len(message_text) + if self._last_progress_length: + message_text = "\b" * (self._last_progress_length) + message_text + self._last_progress_length = new_len + sys.stderr.write(message_text) + sys.stderr.flush() + + #message = Message(unique_id, MessageType.INFO, message_text) + #self.message(message) # recorded_messages() # diff --git a/src/buildstream/_progress.py b/src/buildstream/_progress.py index 2ad9e6a..d762f73 100644 --- a/src/buildstream/_progress.py +++ b/src/buildstream/_progress.py @@ -49,5 +49,3 @@ class Progress(): if self._total is not None: message_text += "/" + str(self._total) self._context.report_progress(message_text, self._unique_id) - -
