# Path: termicoder/utils/logging.py



import click
import sys
from .logging import logger


def handle_exceptions(*exceptions):
    """
    Used as a decorator.
    Takes exceptions and a function,
    returns function warpped with try except and debug functionality
    """
    # TODO correct the line number
    def wrapper(function):
        def customized_function(*args, **kwargs):
            logger.debug(
                "calling function %s" % sys.modules[function.__module__])
            try:
                function(*args, **kwargs)
            except (exceptions) as e:
                if(logger.level == 10 or isinstance(e, click.Abort)):
                    raise
                else:

# Path: termicoder/utils/logging.py



# Path: termicoder/utils/exceptions.py
import click
import sys
from .logging import logger



def handle_exceptions(*exceptions):
    """
    Used as a decorator.
    Takes exceptions and a function,
    returns function warpped with try except and debug functionality
    """
    # TODO correct the line number
    def wrapper(function):
        def customized_function(*args, **kwargs):
            logger.debug(
                "calling function %s" % sys.modules[function.__module__])
            try:
                function(*args, **kwargs)
            except (exceptions) as e:
                if(logger.level == 10 or isinstance(e, click.Abort)):
                    raise
                else:

                    logger.error("in module %s:function %s:line %s" % (