def __init__(self):
""" Initialization """
dict.__init__(self, {
'NORMAL': '',
'BOLD': '',
'ERASE': '\n',
'RED': '',
'YELLOW': '',
'GREEN': '',
})
try:
import curses as _curses
except ImportError:
# fixup if a submodule of curses failed.
if 'curses' in _sys.modules:
del _sys.modules['curses']
else:
try:
_curses.setupterm()
except (TypeError, _curses.error):
pass
else:
try:
_curses.tigetstr('sgr0')
except TypeError: # pypy3
# pylint: disable = invalid-name
bc = lambda val: val.encode('ascii')
else:
bc = lambda val: val # pylint: disable = invalid-name
def make_color(color):
""" Make color control string """
seq = _curses.tigetstr(bc('setaf'))
if seq is not None:
seq = _curses.tparm(seq, color).decode('ascii')
return seq
self['NORMAL'] = _curses.tigetstr(bc('sgr0')).decode('ascii')
self['BOLD'] = _curses.tigetstr(bc('bold')).decode('ascii')
erase = _curses.tigetstr(bc('el1')).decode('ascii')
if erase is not None:
self['ERASE'] = erase + \
_curses.tigetstr(bc('cr')).decode('ascii')
self['RED'] = make_color(_curses.COLOR_RED)
self['YELLOW'] = make_color(_curses.COLOR_YELLOW)
self['GREEN'] = make_color(_curses.COLOR_GREEN)
评论列表
文章目录