From: Christopher Larson Date: Sat, 26 Jan 2013 00:56:30 +0000 (-0700) Subject: tinfoil: support other fds, enable color support X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c46db4be4cc4dc53376ed3f574b2f1c868730f2a;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git tinfoil: support other fds, enable color support Rather than only handling sys.stdout, also support any arbitrary file object, and enable color for the formatter if that file is a tty. Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 73d8fe92a81..cb53f3e54fd 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -29,15 +29,17 @@ from bb.cooker import state import bb.fetch2 class Tinfoil: - def __init__(self): + def __init__(self, output=sys.stdout): # Needed to avoid deprecation warnings with python 2.6 warnings.filterwarnings("ignore", category=DeprecationWarning) # Set up logging self.logger = logging.getLogger('BitBake') - console = logging.StreamHandler(sys.stdout) - format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") + console = logging.StreamHandler(output) bb.msg.addDefaultlogFilter(console) + format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") + if output.isatty(): + format.enable_color() console.setFormatter(format) self.logger.addHandler(console)