From 89087744295349d8aa178eea57e2d5fc0ee7a716 Mon Sep 17 00:00:00 2001 From: Heikki Hokkanen Date: Mon, 26 Oct 2009 20:07:43 +0200 Subject: [PATCH] Cleaner output when not outputting to a tty. Allow piping into a log file more cleanly without spewing \r (on Linux which supports os.isatty()). --- gitstats | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gitstats b/gitstats index 418ee7a..3c9d390 100755 --- a/gitstats +++ b/gitstats @@ -5,6 +5,7 @@ import datetime import glob import os import pickle +import platform import re import shutil import subprocess @@ -14,6 +15,7 @@ import zlib GNUPLOT_COMMON = 'set terminal png transparent\nset size 0.5,0.5\n' MAX_EXT_LENGTH = 10 # maximum file extension length +ON_LINUX = (platform.system() == 'Linux') exectime_internal = 0.0 exectime_external = 0.0 @@ -28,7 +30,7 @@ if 'GNUPLOT' in os.environ: def getpipeoutput(cmds, quiet = False): global exectime_external start = time.time() - if not quiet: + if not quiet and ON_LINUX and os.isatty(1): print '>> ' + ' | '.join(cmds), sys.stdout.flush() p0 = subprocess.Popen(cmds[0], stdout = subprocess.PIPE, shell = True) @@ -39,7 +41,9 @@ def getpipeoutput(cmds, quiet = False): output = p.communicate()[0] end = time.time() if not quiet: - print '\r[%.5f] >> %s' % (end - start, ' | '.join(cmds)) + if ON_LINUX and os.isatty(1): + print '\r', + print '[%.5f] >> %s' % (end - start, ' | '.join(cmds)) exectime_external += (end - start) return output.rstrip('\n') -- 2.11.4.GIT