1
0
Fork 0
mirror of synced 2024-06-10 22:54:41 +12:00
Rare/rare/lgndr/glue/exception.py
2023-12-10 13:47:07 +02:00

29 lines
892 B
Python

import logging
# import warnings
class LgndrException(RuntimeError):
def __init__(self, message="Error in Legendary"):
self.message = message
super(LgndrException, self).__init__(self.message)
class LgndrWarning(RuntimeWarning):
def __init__(self, message="Warning in Legendary"):
self.message = message
super(LgndrWarning, self).__init__(self.message)
# Minimum exception levels per class to get back useful error strings
# CLI: ERROR
# Core: CRITICAL (FATAL)
class LgndrLogHandler(logging.Handler):
def __init__(self, level=logging.NOTSET):
super().__init__(level=level)
def emit(self, record: logging.LogRecord) -> None:
if record.levelno >= self.level:
raise LgndrException(record.getMessage())
# if self.level > record.levelno >= logging.WARNING:
# warnings.warn(record.getMessage())