From c0695c34a90684ebb8c382fa9ff9081ded7d9802 Mon Sep 17 00:00:00 2001 From: rdb Date: Sat, 12 Sep 2009 19:35:20 +0000 Subject: [PATCH] Fix terminal coloring for FreeBSD --- makepanda/makepandacore.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index 8021c1e3c2..1535ce2b27 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -76,9 +76,14 @@ for (ver,key1,key2,subdir) in MAXVERSIONINFO: WARNINGS=[] THREADS={} HAVE_COLORS=False +SETF="" try: import curses curses.setupterm() + SETF=curses.tigetstr("setf") + if (SETF == None): + SETF=curses.tigetstr("setaf") + assert SETF != None HAVE_COLORS=sys.stdout.isatty() except: pass @@ -86,17 +91,17 @@ def GetColor(color = None): if not HAVE_COLORS: return "" if color != None: color = color.lower() if (color == "blue"): - return curses.tparm(curses.tigetstr("setf"), 1) + return curses.tparm(SETF, 1) elif (color == "green"): - return curses.tparm(curses.tigetstr("setf"), 2) + return curses.tparm(SETF, 2) elif (color == "cyan"): - return curses.tparm(curses.tigetstr("setf"), 3) + return curses.tparm(SETF, 3) elif (color == "red"): - return curses.tparm(curses.tigetstr("setf"), 4) + return curses.tparm(SETF, 4) elif (color == "magenta"): - return curses.tparm(curses.tigetstr("setf"), 5) + return curses.tparm(SETF, 5) elif (color == "yellow"): - return curses.tparm(curses.tigetstr("setf"), 6) + return curses.tparm(SETF, 6) else: return curses.tparm(curses.tigetstr("sgr0"))