codekingpro/portable-devtools
114k
1from os import environ2 3 4def env(key, type_, default=None):5 if key not in environ:6 return default7 8 val = environ[key]9 10 if type_ is str:11 return val12 if type_ is bool:13 if val.lower() in ["1", "true", "yes", "y", "ok", "on"]:14 return True15 if val.lower() in ["0", "false", "no", "n", "nok", "off"]:16 return False17 raise ValueError(18 "Invalid environment variable '%s' (expected a boolean): '%s'" % (key, val)19 )20 if type_ is int:21 try:22 return int(val)23 except ValueError:24 raise ValueError(25 "Invalid environment variable '%s' (expected an integer): '%s'" % (key, val)26 ) from None27 raise ValueError("The requested type '%s' is not supported" % type_.__name__)28 29 30LOGURU_AUTOINIT = env("LOGURU_AUTOINIT", bool, True)31 32LOGURU_FORMAT = env(33 "LOGURU_FORMAT",34 str,35 "<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "36 "<level>{level: <8}</level> | "37 "<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>",38)39LOGURU_FILTER = env("LOGURU_FILTER", str, None)40LOGURU_LEVEL = env("LOGURU_LEVEL", str, "DEBUG")41LOGURU_COLORIZE = env("LOGURU_COLORIZE", bool, None)42LOGURU_SERIALIZE = env("LOGURU_SERIALIZE", bool, False)43LOGURU_BACKTRACE = env("LOGURU_BACKTRACE", bool, True)44LOGURU_DIAGNOSE = env("LOGURU_DIAGNOSE", bool, True)45LOGURU_ENQUEUE = env("LOGURU_ENQUEUE", bool, False)46LOGURU_CONTEXT = env("LOGURU_CONTEXT", str, None)47LOGURU_CATCH = env("LOGURU_CATCH", bool, True)48 49LOGURU_TRACE_NO = env("LOGURU_TRACE_NO", int, 5)50LOGURU_TRACE_COLOR = env("LOGURU_TRACE_COLOR", str, "<cyan><bold>")51LOGURU_TRACE_ICON = env("LOGURU_TRACE_ICON", str, "\u270F\uFE0F") # Pencil52 53LOGURU_DEBUG_NO = env("LOGURU_DEBUG_NO", int, 10)54LOGURU_DEBUG_COLOR = env("LOGURU_DEBUG_COLOR", str, "<blue><bold>")55LOGURU_DEBUG_ICON = env("LOGURU_DEBUG_ICON", str, "\U0001F41E") # Lady Beetle56 57LOGURU_INFO_NO = env("LOGURU_INFO_NO", int, 20)58LOGURU_INFO_COLOR = env("LOGURU_INFO_COLOR", str, "<bold>")59LOGURU_INFO_ICON = env("LOGURU_INFO_ICON", str, "\u2139\uFE0F") # Information60 61LOGURU_SUCCESS_NO = env("LOGURU_SUCCESS_NO", int, 25)62LOGURU_SUCCESS_COLOR = env("LOGURU_SUCCESS_COLOR", str, "<green><bold>")63LOGURU_SUCCESS_ICON = env("LOGURU_SUCCESS_ICON", str, "\u2705") # White Heavy Check Mark64 65LOGURU_WARNING_NO = env("LOGURU_WARNING_NO", int, 30)66LOGURU_WARNING_COLOR = env("LOGURU_WARNING_COLOR", str, "<yellow><bold>")67LOGURU_WARNING_ICON = env("LOGURU_WARNING_ICON", str, "\u26A0\uFE0F") # Warning68 69LOGURU_ERROR_NO = env("LOGURU_ERROR_NO", int, 40)70LOGURU_ERROR_COLOR = env("LOGURU_ERROR_COLOR", str, "<red><bold>")71LOGURU_ERROR_ICON = env("LOGURU_ERROR_ICON", str, "\u274C") # Cross Mark72 73LOGURU_CRITICAL_NO = env("LOGURU_CRITICAL_NO", int, 50)74LOGURU_CRITICAL_COLOR = env("LOGURU_CRITICAL_COLOR", str, "<RED><bold>")75LOGURU_CRITICAL_ICON = env("LOGURU_CRITICAL_ICON", str, "\u2620\uFE0F") # Skull and Crossbones76 