Add interface Error
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "validator"
|
name = "validator"
|
||||||
version = "1.0"
|
version = "2.0"
|
||||||
authors = [
|
authors = [
|
||||||
{ name="RemiZOffAlex", email="remizoffalex@gmail.com" },
|
{ name="RemiZOffAlex", email="remizoffalex@gmail.com" },
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -7,6 +7,14 @@ import logging
|
|||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class Error:
|
||||||
|
def __init__(self, message: str = ''):
|
||||||
|
self.message = message
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return "Result validation is error: {}".format(self.message)
|
||||||
|
|
||||||
|
|
||||||
class Validator:
|
class Validator:
|
||||||
def __init__(self, rules: list = [], debug: bool = False):
|
def __init__(self, rules: list = [], debug: bool = False):
|
||||||
self.rules = rules
|
self.rules = rules
|
||||||
@@ -20,15 +28,14 @@ class Validator:
|
|||||||
if self.debug:
|
if self.debug:
|
||||||
log.info('rule: {}'.format(rule))
|
log.info('rule: {}'.format(rule))
|
||||||
result = rule(value)
|
result = rule(value)
|
||||||
if result.status is False:
|
if isinstance(result, Error):
|
||||||
return result
|
return result
|
||||||
return Result(True)
|
return Result()
|
||||||
|
|
||||||
|
|
||||||
class Result:
|
class Result:
|
||||||
def __init__(self, status: bool = True, message: str = ''):
|
def __init__(self, message: str = ''):
|
||||||
self.status = status
|
|
||||||
self.message = message
|
self.message = message
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "Result validation is {}".format(self.status)
|
return "Result validation is ok: {}".format(self.message)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ __email__ = 'remizoffalex@mail.ru'
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from ..core import Result
|
from ..core import Result, Error
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -15,8 +15,8 @@ class EqualTo:
|
|||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
if self.value != value:
|
if self.value != value:
|
||||||
return Result(False, self.message)
|
return Error(self.message)
|
||||||
return Result(True)
|
return Result()
|
||||||
|
|
||||||
|
|
||||||
class MaxLength:
|
class MaxLength:
|
||||||
@@ -26,8 +26,8 @@ class MaxLength:
|
|||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
if len(value) > self.limit:
|
if len(value) > self.limit:
|
||||||
return Result(False, self.message)
|
return Error(self.message)
|
||||||
return Result(True)
|
return Result()
|
||||||
|
|
||||||
|
|
||||||
class MinLength():
|
class MinLength():
|
||||||
@@ -37,5 +37,5 @@ class MinLength():
|
|||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
if len(value) < self.limit:
|
if len(value) < self.limit:
|
||||||
return Result(False, self.message)
|
return Error(self.message)
|
||||||
return Result(True)
|
return Result()
|
||||||
|
|||||||
Reference in New Issue
Block a user