From 1c1999662da0b3fcfcfa224118809e8b236bb318 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 9 May 2020 14:52:14 +0300 Subject: Change: flush progress output after every write --- NEWS | 9 +++++++++ vmdb/runcmd.py | 2 ++ 2 files changed, 11 insertions(+) diff --git a/NEWS b/NEWS index f9766ce..e17d765 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,15 @@ NEWS for vmdb2, the Debian disk image builder ============================================================================= +Version 0.15+git, not yet released +------------------------------------ + +* Progress output is now flushed after every write. This matters, when + the output goes to a pipe, because then Python would buffer the + output, meaning that progress output gets delayed until the buffer + fills up, and that's useless. + + Version 0.15, released 2020-05-05 ------------------------------------ diff --git a/vmdb/runcmd.py b/vmdb/runcmd.py index ae4a6d0..7cd6406 100644 --- a/vmdb/runcmd.py +++ b/vmdb/runcmd.py @@ -35,12 +35,14 @@ def set_verbose_progress(verbose): def error(msg): logging.error(msg, exc_info=True) sys.stderr.write('ERROR: {}\n'.format(msg)) + sys.stderr.flush() def progress(msg): logging.info(msg) if _verbose: sys.stdout.write('{}\n'.format(msg)) + sys.stdout.flush() def runcmd(argv, **kwargs): -- cgit v1.2.1