From 40cc37e3da265592b2d8ef440a6d0aa55e643e39 Mon Sep 17 00:00:00 2001 From: rdb Date: Tue, 17 Dec 2013 11:56:02 +0000 Subject: [PATCH] fix terminal colouring when using Python 3 --- makepanda/makepandacore.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index 82cd50122e..bb261e00ed 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -159,22 +159,30 @@ def DisableColors(): HAVE_COLORS = False def GetColor(color = None): - if not HAVE_COLORS: return "" - if color != None: color = color.lower() + if not HAVE_COLORS: + return "" + if color != None: + color = color.lower() + if (color == "blue"): - return curses.tparm(SETF, 1) + token = curses.tparm(SETF, 1) elif (color == "green"): - return curses.tparm(SETF, 2) + token = curses.tparm(SETF, 2) elif (color == "cyan"): - return curses.tparm(SETF, 3) + token = curses.tparm(SETF, 3) elif (color == "red"): - return curses.tparm(SETF, 4) + token = curses.tparm(SETF, 4) elif (color == "magenta"): - return curses.tparm(SETF, 5) + token = curses.tparm(SETF, 5) elif (color == "yellow"): - return curses.tparm(SETF, 6) + token = curses.tparm(SETF, 6) else: - return curses.tparm(curses.tigetstr("sgr0")) + token = curses.tparm(curses.tigetstr("sgr0")) + + if sys.version_info >= (3, 0): + return token.decode('ascii') + else: + return token def ColorText(color, text, reset=True): if reset is True: