diff --git a/src/zenlib/util/colorize.py b/src/zenlib/util/colorize.py index 10cafe7..31bc23a 100644 --- a/src/zenlib/util/colorize.py +++ b/src/zenlib/util/colorize.py @@ -1,4 +1,4 @@ -__version__ = "0.1.1" +__version__ = "0.2.0" from enum import Enum @@ -29,5 +29,13 @@ def __str__(self): def colorize(text: str, color="white", bright=False, bold=False) -> str: - color_code = Colors[color.upper()].value + try: + color_code = Colors[color.upper()].value + except (KeyError, AttributeError): + try: + color_code = int(color) + except ValueError: + raise ValueError(f"Invalid color: {color}") + color_code = int(color) + return f"{ANSICode(color_code, bright, bold)}{text}{ANSICode(0)}" diff --git a/tests/test_colorize.py b/tests/test_colorize.py index cd41676..042cf88 100644 --- a/tests/test_colorize.py +++ b/tests/test_colorize.py @@ -48,7 +48,7 @@ def test_white(self): def test_invalid_color(self): - with self.assertRaises(KeyError): + with self.assertRaises(ValueError): colorize("test", "invalid_color")