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, 14 Nov 2014 12:21:38 +0000 (14:21 +0200)
Check for existence of isatty() method in the stream object. Some custom
streams (e.g. in nose) do not necessarily have this.

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

index f21e2bb..6d2c0a6 100644 (file)
@@ -75,7 +75,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