Odoo18-Base/setup/color_log.py
2025-03-10 11:18:05 +07:00

29 lines
966 B
Python

#!/usr/bin/env python3
def colorize(text, code):
"""Colorizes text using ANSI escape codes."""
return f"\033[{code}m{text}\033[0m"
def Show(status, message):
"""Displays a message with a status indicator."""
colors = {
0: (colorize("[", "90")+colorize(" OK ", "38;5;154") + colorize("]", "90")), # Green, Grey
1: (colorize("[", "90")+colorize(" FAILED ", "91") + colorize("]", "90")), # Red, Grey
2: (colorize("[", "90")+colorize(" INFO ", "38;5;154") + colorize("]", "90")), # Green, Grey
3: (colorize("[", "90")+colorize(" NOTICE ", "33") + colorize("]", "90")), # Yellow, Grey
}
print(f"{colors.get(status, '')} {message}")
if status == 1:
exit(1)
def Warn(message):
"""Displays a warning message in red."""
print(colorize(message, "91"))
def GreyStart():
"""Starts a grey-colored output."""
print(colorize("", "90"), end="")
def ColorReset():
"""Resets the output color."""
print("\033[0m", end="")