def __repr__(self):
if self._color_spec:
return '{schema}{str}{reset}'.format(
schema=self._color_spec, str=safe_str(self._str), reset=Colors.Style.RESET_ALL)
return self._str
python类Style()的实例源码
def highlight(self, pattern, schema):
if pattern is None:
return
for match in set(re.findall(re.compile(pattern), self._str)):
self.replace(match, schema + match + Colors.Style.RESET_ALL + self._color_spec)
def output(message, **kwargs):
def repl(match): # pragma: no cover
attr = match.group(0)[2:-1].upper()
if hasattr(colorama.Fore, attr):
return getattr(colorama.Fore, attr)
elif hasattr(colorama.Style, attr):
return getattr(colorama.Style, attr)
else:
return match.group(0)
message, count = re.subn('#{(.+?)}', repl, message)
message = colorama.Style.RESET_ALL + message + colorama.Style.RESET_ALL
print_(message, **kwargs)
def color_str(self):
style = 'BRIGHT' if self.bold else 'NORMAL'
c = '%s%s%s%s%s' % (getattr(colorama.Fore, self.color), getattr(colorama.Style, style), self.s, colorama.Fore.RESET, getattr(colorama.Style, 'NORMAL'))
if self.always_color:
return c
elif sys.stdout.isatty() and not DISABLE_COLOR:
return c
else:
return self.s
def print_c(*args):
print(*args, end = Style.RESET_ALL)
def finalize():
term.finalize()
set_cursor(True)
# Reset colors and style
print_raw(Style.RESET_ALL)
def init():
try:
import colorama
global Fore, Back, Style
Fore = colorama.Fore
Back = colorama.Back
Style = colorama.Style
colorama.Fore
except ImportError:
pass