New package builder

This commit is contained in:
2024-04-29 10:32:34 +03:00
parent f4feda443c
commit 5e68cbcb5c
6 changed files with 26 additions and 6 deletions

4
.gitignore vendored
View File

@@ -1,4 +1,8 @@
# Byte-compiled / optimized / DLL files
__pycache__
*.pyc
# Distribution / packaging
build
dist
*.egg-info

13
pyproject.toml Normal file
View 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"]

View File

@@ -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

View File

@@ -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