21 lines
520 B
Python
21 lines
520 B
Python
|
from abc import ABCMeta, abstractmethod, abstractproperty
|
||
|
from six import add_metaclass
|
||
|
|
||
|
class ConfigValidationException(Exception):
|
||
|
""" Exception raised when the configuration fails to validate for a known reason. """
|
||
|
pass
|
||
|
|
||
|
|
||
|
@add_metaclass(ABCMeta)
|
||
|
class BaseValidator(object):
|
||
|
@abstractproperty
|
||
|
def name(self):
|
||
|
""" The key for the validation API. """
|
||
|
pass
|
||
|
|
||
|
@classmethod
|
||
|
@abstractmethod
|
||
|
def validate(cls, config, user, user_password):
|
||
|
""" Raises Exception if failure to validate. """
|
||
|
pass
|