log: fix auto colorizing for custom streams
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 10 Jul 2014 08:26:19 +0000 (11:26 +0300)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Fri, 18 Jul 2014 13:08:28 +0000 (16:08 +0300)
Check for existence of isatty() method in the stream object. Some custom
streams (e.g. in nose) do not necessarily have this.

Change-Id: I4c8386dfd6f016f926f2eb70b953b19095d585c2
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
gbp/log.py

index e269d65..17cd680 100644 (file)
@@ -77,7 +77,7 @@ class GbpStreamHandler(logging.StreamHandler):
         """Check if to print in color or not"""
         if self._color.is_on():
             return True
-        elif self._color.is_auto():
+        elif self._color.is_auto() and hasattr(self.stream, 'isatty'):
             in_emacs = (os.getenv("EMACS") and
                         os.getenv("INSIDE_EMACS", "").endswith(",comint"))
             return self.stream.isatty() and not in_emacs