Nekmo/simple-monitor-alert

View on GitHub
simple_monitor_alert/exceptions.py

Summary

Maintainability
A
0 mins
Test Coverage
import logging

logger = logging.getLogger('sma')

class InvalidScriptLineBase:
    def __init__(self, line, script_path):
        self.line = line
        self.script_path = script_path

    def __repr__(self):
        return '<InvalidScriptLine "{}" in file "{}">'.format(self.line, self.script_path)

    def __str__(self):
        return self.__repr__()


class InvalidValueLineBase:
    def __init__(self, line, script_path):
        self.line = line
        self.script_path = script_path


class InvalidScriptLineError(InvalidScriptLineBase, SyntaxError):
    pass


class InvalidScriptLineWarning(InvalidScriptLineBase, SyntaxWarning):
    def __repr__(self):
        return '{}'.format(self.line)


class InvalidScriptLineLogging(InvalidScriptLineBase):
    def __init__(self, line, script_path):
        super(InvalidScriptLineLogging, self).__init__(line, script_path)
        logger.warning('{}: invalid line: {}'.format(script_path, line))