2025-04-25 16:03:07 +02:00
|
|
|
# Public Python libraries
|
|
|
|
|
import argparse
|
2025-12-29 10:55:57 +01:00
|
|
|
from datetime import datetime
|
2025-04-25 16:03:07 +02:00
|
|
|
|
2025-12-29 10:55:57 +01:00
|
|
|
class Console:
|
2025-04-25 16:03:07 +02:00
|
|
|
class text_color:
|
2025-12-29 10:55:57 +01:00
|
|
|
black = "\033[30m"
|
|
|
|
|
red = "\033[31m"
|
|
|
|
|
green = "\033[32m"
|
|
|
|
|
yellow = "\033[33m"
|
|
|
|
|
blue = "\033[34m"
|
|
|
|
|
magenta = "\033[35m"
|
|
|
|
|
cyan = "\033[36m"
|
|
|
|
|
white = "\033[37m"
|
|
|
|
|
italic = "\x1B[3m"
|
|
|
|
|
reset = "\x1B[0m"
|
2025-04-25 16:03:07 +02:00
|
|
|
|
2025-09-25 09:49:19 +02:00
|
|
|
@staticmethod
|
2025-12-29 10:55:57 +01:00
|
|
|
def print_text(silent: bool, message: str, prefix_select: int = 0) -> None:
|
2025-04-25 16:03:07 +02:00
|
|
|
'''
|
|
|
|
|
Helper function for terminal output, with a couple variables for the silent flag. Also clears terminal color each time.
|
2025-12-29 10:55:57 +01:00
|
|
|
|
|
|
|
|
int tag_select legend:
|
|
|
|
|
0 / default = timestamp
|
|
|
|
|
1 = info
|
|
|
|
|
2 = warn
|
|
|
|
|
3 = err
|
|
|
|
|
4 = fatal
|
|
|
|
|
9 = nothing
|
2025-04-25 16:03:07 +02:00
|
|
|
'''
|
2025-12-29 10:55:57 +01:00
|
|
|
match prefix_select:
|
|
|
|
|
case 1:
|
|
|
|
|
tag_prefix = "[INFO] "
|
|
|
|
|
case 2:
|
|
|
|
|
tag_prefix = "[WARN] "
|
|
|
|
|
case 3:
|
|
|
|
|
tag_prefix = "[ERROR] "
|
|
|
|
|
case 4:
|
|
|
|
|
tag_prefix = "[FATAL] "
|
|
|
|
|
case 9:
|
|
|
|
|
tag_prefix = ""
|
|
|
|
|
case _:
|
|
|
|
|
tag_prefix = f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} "
|
|
|
|
|
|
|
|
|
|
if not silent:
|
|
|
|
|
print(tag_prefix + message + Console.text_color.reset)
|
2025-04-25 16:03:07 +02:00
|
|
|
|
2025-12-29 10:55:57 +01:00
|
|
|
@staticmethod
|
|
|
|
|
def print_line(silent: bool, special: bool = False) -> None:
|
|
|
|
|
if not silent:
|
|
|
|
|
if special:
|
|
|
|
|
print("-=-" * 40)
|
|
|
|
|
else:
|
|
|
|
|
print(("-" * 40))
|