import datetime import logging import sys import locale logger = logging.getLogger(__name__) locale.setlocale(locale.LC_ALL, "") # Get the locale from the environment try: from colorama import init from termcolor import colored except ModuleNotFoundError as ex: logger.critical(f"Import Error: Unable to load {ex.name} module", exc_info=True) print(f"Import Error: Unable to load {ex.name} module") from app.classes.shared.installer import installer installer.do_install() class Console: level = "" def __init__(self): if "colorama" in sys.modules: init() @staticmethod def get_fmt_date_time(): # This will use the local date (%x) and time (%X) formatting return datetime.datetime.now().strftime("%x %X") @staticmethod def do_print(message, color): if "termcolor" in sys.modules or "colorama" in sys.modules: print(colored(message, color)) else: print(message) @staticmethod def magenta(message): Console.do_print(message, "magenta") @staticmethod def cyan(message): Console.do_print(message, "cyan") @staticmethod def yellow(message): Console.do_print(message, "yellow") @staticmethod def red(message): Console.do_print(message, "red") @staticmethod def green(message): Console.do_print(message, "green") @staticmethod def white(message): Console.do_print(message, "white") @staticmethod def debug(message): if Console.level == "debug": date_time = Console.get_fmt_date_time() Console.magenta(f"[+] Crafty: {date_time} - DEBUG:\t{message}") @staticmethod def info(message): date_time = Console.get_fmt_date_time() Console.white(f"[+] Crafty: {date_time} - INFO:\t{message}") @staticmethod def warning(message): date_time = Console.get_fmt_date_time() Console.cyan(f"[+] Crafty: {date_time} - WARNING:\t{message}") @staticmethod def error(message): date_time = Console.get_fmt_date_time() Console.yellow(f"[+] Crafty: {date_time} - ERROR:\t{message}") @staticmethod def critical(message): date_time = Console.get_fmt_date_time() Console.red(f"[+] Crafty: {date_time} - CRITICAL:\t{message}") @staticmethod def help(message): date_time = Console.get_fmt_date_time() Console.green(f"[+] Crafty: {date_time} - HELP:\t{message}")