Source code for utilipy.utils.exceptions

# -*- coding: utf-8 -*-

"""Warnings and Exceptions.

Routine Listings
----------------
utilipyWarning
utilipyWarningVerbose
_warning

"""

__author__ = "Nathaniel Starkman"


##############################################################################
# IMPORTS

# GENERAL

from typing import Any
import warnings


# PROJECT-SPECIFIC

from ..config import __config__


##############################################################################
# PARAMETERS

try:
    __config__.getboolean("verbosity", "warnings")
except Exception:
    _SHOW_WARNINGS: bool = True
else:
    _SHOW_WARNINGS: bool = __config__.getboolean("verbosity", "warnings")


###############################################################################
# CODE
###############################################################################


[docs]class utilipyWarning(Warning): """utilipyWarning.""" pass
# /class # ----------------------------------------------------------------------------
[docs]class utilipyWarningVerbose(Warning): """utilipyWarningVerbose.""" pass
# /class # ---------------------------------------------------------------------------- def _warning( message: Any, category: type = utilipyWarning, filename: str = "", lineno: int = -1, file: None = None, line: None = None, ): if issubclass(category, utilipyWarning): if not issubclass(category, utilipyWarningVerbose) or _SHOW_WARNINGS: print("utilipyWarning: " + str(message)) else: print(warnings.formatwarning(message, category, filename, lineno)) warnings.showwarning = _warning # TODO check how this is used ############################################################################## # END