From 35155337c1d9e5a185250ed74f4a6f941fa0be02 Mon Sep 17 00:00:00 2001 From: Luciano Strika Date: Thu, 19 Jul 2018 17:49:13 -0300 Subject: [PATCH 1/4] refactor reverse palette for legibility and abstraction --- lib/colorize_internal.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/colorize_internal.py b/lib/colorize_internal.py index 746efc9..c19f71c 100644 --- a/lib/colorize_internal.py +++ b/lib/colorize_internal.py @@ -26,29 +26,29 @@ PALETTES = { }, } -PALETTES_REVERSE = { - 0: { - 1: Back.WHITE + Fore.BLACK, - 2: Style.DIM, - }, - 1: { - 1: Back.CYAN + Fore.BLACK, - 2: Style.DIM, - }, - 2: { - 1: Back.RED + Fore.BLACK, - 2: Style.DIM, - }, -} +def _reverse_palette(code): + return { + 1 : Fore.BLACK + _back_color(code), + 2 : Style.DIM + } + +def _back_color(code): + if code == 0 or code.lower()=="white": + return Back.WHITE + if code == 1 or code.lower()=="cyan": + return Back.WHITE + if code == 2 or code.lower()=="red": + return Back.WHITE + def colorize_internal(text, palette_number=1): """ Colorize `text`, use `palette` """ palette = PALETTES[palette_number] - palette_reverse = PALETTES_REVERSE[palette_number] + palette_reverse = _reverse_palette(palette_number) def _colorize_curlies_block(text): From 7d20c45ac57e740e14d68a8d7789d8d0cd51b36a Mon Sep 17 00:00:00 2001 From: Luciano Strika Date: Thu, 19 Jul 2018 17:49:48 -0300 Subject: [PATCH 2/4] remove unnecessary boolean assignment --- lib/colorize_internal.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/colorize_internal.py b/lib/colorize_internal.py index c19f71c..aebe564 100644 --- a/lib/colorize_internal.py +++ b/lib/colorize_internal.py @@ -31,7 +31,7 @@ PALETTES = { def _reverse_palette(code): return { 1 : Fore.BLACK + _back_color(code), - 2 : Style.DIM + 2 : Style.DIM } def _back_color(code): @@ -62,10 +62,9 @@ def colorize_internal(text, palette_number=1): if stripped.startswith('='): stripped = stripped[1:] - reverse = False - if color_number < 0: + reverse = (color_number < 0) + if reverse: color_number = -color_number - reverse = True if reverse: stripped = palette_reverse[color_number] + stripped + Style.RESET_ALL From e4d7fde7cf858986a5d809dd6edc098947924547 Mon Sep 17 00:00:00 2001 From: Luciano Strika Date: Thu, 19 Jul 2018 17:59:55 -0300 Subject: [PATCH 3/4] replace back color names --- lib/colorize_internal.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/colorize_internal.py b/lib/colorize_internal.py index aebe564..363ff46 100644 --- a/lib/colorize_internal.py +++ b/lib/colorize_internal.py @@ -38,9 +38,9 @@ def _back_color(code): if code == 0 or code.lower()=="white": return Back.WHITE if code == 1 or code.lower()=="cyan": - return Back.WHITE + return Back.CYAN if code == 2 or code.lower()=="red": - return Back.WHITE + return Back.RED def colorize_internal(text, palette_number=1): """ @@ -51,7 +51,6 @@ def colorize_internal(text, palette_number=1): palette_reverse = _reverse_palette(palette_number) def _colorize_curlies_block(text): - text = text.group()[1:-1] factor = 1 if text.startswith('-'): From 7201ce42517a82e27dd3f80d856f7eac94bcfe49 Mon Sep 17 00:00:00 2001 From: Luciano Strika Date: Thu, 19 Jul 2018 18:06:28 -0300 Subject: [PATCH 4/4] clean up colorizer --- lib/colorize_internal.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/colorize_internal.py b/lib/colorize_internal.py index 363ff46..2e7dd41 100644 --- a/lib/colorize_internal.py +++ b/lib/colorize_internal.py @@ -49,15 +49,22 @@ def colorize_internal(text, palette_number=1): palette = PALETTES[palette_number] palette_reverse = _reverse_palette(palette_number) - - def _colorize_curlies_block(text): + def _process_text(text): text = text.group()[1:-1] factor = 1 if text.startswith('-'): text = text[1:] factor = -1 stripped = text.lstrip('0123456789') - color_number = int(text[:len(text)-len(stripped)])*factor + return (text, stripped, factor) + + def _extract_color_number(text,stripped,factor = 1): + return int(text[:len(text)-len(stripped)])*factor + + def _colorize_curlies_block(text): + text, stripped, factor = _process_text(text) + color_number = _extract_color_number(text,stripped,factor) + if stripped.startswith('='): stripped = stripped[1:]