def has_colours(stream):
if not (hasattr(stream, "isatty") and stream.isatty()):
return False
try:
import curses
curses.setupterm()
return curses.tigetnum("colors") > 2
except:
# TODO: log console
return False