New package builder
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,4 +1,8 @@
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__
|
||||
*.pyc
|
||||
|
||||
# Distribution / packaging
|
||||
build
|
||||
dist
|
||||
*.egg-info
|
||||
|
||||
13
pyproject.toml
Normal file
13
pyproject.toml
Normal file
@@ -0,0 +1,13 @@
|
||||
[project]
|
||||
name = "validator"
|
||||
version = "1.0"
|
||||
authors = [
|
||||
{ name="RemiZOffAlex", email="remizoffalex@gmail.com" },
|
||||
]
|
||||
maintainers = [
|
||||
{ name="RemiZOffAlex", email="remizoffalex@gmail.com" },
|
||||
]
|
||||
description = ""
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
keywords = ["data validation", "validator", "validation"]
|
||||
@@ -7,14 +7,17 @@ import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Validator():
|
||||
def __init__(self, rules: list = []):
|
||||
class Validator:
|
||||
def __init__(self, rules: list = [], debug: bool = False):
|
||||
self.rules = rules
|
||||
self.debug = debug
|
||||
if self.debug:
|
||||
log.info('rules: {}'.format(rules))
|
||||
|
||||
def __call__(self, value):
|
||||
result = True
|
||||
for rule in self.rules:
|
||||
if self.debug:
|
||||
log.info('rule: {}'.format(rule))
|
||||
result = rule(value)
|
||||
if result.status is False:
|
||||
@@ -22,7 +25,7 @@ class Validator():
|
||||
return Result(True)
|
||||
|
||||
|
||||
class Result():
|
||||
class Result:
|
||||
def __init__(self, status: bool = True, message: str = ''):
|
||||
self.status = status
|
||||
self.message = message
|
||||
@@ -19,7 +19,7 @@ class EqualTo:
|
||||
return Result(True)
|
||||
|
||||
|
||||
class MaxLength():
|
||||
class MaxLength:
|
||||
def __init__(self, value, message: str = ''):
|
||||
self.limit = value
|
||||
self.message = message
|
||||
Reference in New Issue
Block a user