From 7918f9cc4e59c43258cfb6b3f3f857946f5deb07 Mon Sep 17 00:00:00 2001 From: jesopo Date: Tue, 13 Nov 2018 17:23:18 +0000 Subject: Better constifying of COLORs --- src/utils/consts.py | 48 +++++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/src/utils/consts.py b/src/utils/consts.py index 5d97c045..8b34567a 100644 --- a/src/utils/consts.py +++ b/src/utils/consts.py @@ -4,26 +4,35 @@ BITBOT_HOOKS_MAGIC = "__bitbot_hooks" BITBOT_EXPORTS_MAGIC = "__bitbot_exports" class IRCColor(object): - def __init__(self, irc: int, ansi: typing.List[int]): + def __init__(self, irc: int, ansi: int, ansi_bold: bool): self.irc = irc self.ansi = ansi + self.ansi_bold = ansi_bold -WHITE = IRCColor(0, [1, 37]) -BLACK = IRCColor(1, [30]) -BLUE = IRCColor(2, [34]) -GREEN = IRCColor(3, [32]) -RED = IRCColor(4, [1, 31]) -BROWN = IRCColor(5, [31]) -PURPLE = IRCColor(6, [35]) -ORANGE = IRCColor(7, [33]) -YELLOW = IRCColor(8, [1, 33]) -LIGHTGREEN = IRCColor(9, [1, 32]) -CYAN = IRCColor(10, [36]) -LIGHTCYAN = IRCColor(11, [1, 36]) -LIGHTBLUE = IRCColor(12, [1, 34]) -PINK = IRCColor(13, [1, 35]) -GREY = IRCColor(14, [1, 30]) -LIGHTGREY = IRCColor(15, [37]) +COLOR_NAMES = {} +COLOR_CODES = {} +def _color(name: str, irc: int, ansi: int, ansi_bold: bool): + color = IRCColor(irc, ansi, ansi_bold) + COLOR_NAMES[name] = color + COLOR_CODES[irc] = color + return color + +WHITE = _color("white", 0, 37, True) +BLACK = _color("black", 1, 30, False) +BLUE = _color("blue", 2, 34, False) +GREEN = _color("green", 3, 32, False) +RED = _color("red", 4, 31, True) +BROWN = _color("brown", 5, 31, False) +PURPLE = _color("purple", 6, 35, False) +ORANGE = _color("orange", 7, 33, False) +YELLOW = _color("yellow", 8, 33, True) +LIGHTGREEN = _color("light green", 9, 32, True) +CYAN = _color("cyan", 10, 36, False) +LIGHTCYAN = _color("light cyan", 11, 36, True) +LIGHTBLUE = _color("light blue", 12, 34, True) +PINK = _color("pink", 13, 35, True) +GREY = _color("grey", 14, 30, True) +LIGHTGREY = _color("light grey", 15, 37, False) BOLD = "\x02" ITALIC = "\x1D" @@ -32,3 +41,8 @@ INVERT = "\x16" COLOR = "\x03" RESET = "\x0F" +ANSI_FORMAT = "\033[%sm" +ANSI_RESET = "\033[0m" +ANSI_COLOR_RESET = "\033[22m" +ANSI_BOLD = "\033[1m" +ANSI_BOLD_RESET = "\033[21m" -- cgit v1.3.1-10-gc9f91