diff --git a/.gitignore b/.gitignore index bb3372c..a898430 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,8 @@ +# Byte-compiled / optimized / DLL files __pycache__ *.pyc +# Distribution / packaging build +dist +*.egg-info diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..f1741fe --- /dev/null +++ b/pyproject.toml @@ -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"] diff --git a/validator/__init__.py b/src/validator/__init__.py similarity index 100% rename from validator/__init__.py rename to src/validator/__init__.py diff --git a/validator/core.py b/src/validator/core.py similarity index 68% rename from validator/core.py rename to src/validator/core.py index cd8a948..db4b319 100644 --- a/validator/core.py +++ b/src/validator/core.py @@ -7,22 +7,25 @@ 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 - log.info('rules: {}'.format(rules)) + self.debug = debug + if self.debug: + log.info('rules: {}'.format(rules)) def __call__(self, value): result = True for rule in self.rules: - log.info('rule: {}'.format(rule)) + if self.debug: + log.info('rule: {}'.format(rule)) result = rule(value) if result.status is False: return result return Result(True) -class Result(): +class Result: def __init__(self, status: bool = True, message: str = ''): self.status = status self.message = message diff --git a/validator/presets/__init__.py b/src/validator/presets/__init__.py similarity index 100% rename from validator/presets/__init__.py rename to src/validator/presets/__init__.py diff --git a/validator/presets/common.py b/src/validator/presets/common.py similarity index 97% rename from validator/presets/common.py rename to src/validator/presets/common.py index 85d320c..6394b57 100644 --- a/validator/presets/common.py +++ b/src/validator/presets/common.py @@ -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