From 5e68cbcb5c4728b39f9996faf9900ec7220a4eb1 Mon Sep 17 00:00:00 2001 From: RemiZOffAlex Date: Mon, 29 Apr 2024 10:32:34 +0300 Subject: [PATCH] New package builder --- .gitignore | 4 ++++ pyproject.toml | 13 +++++++++++++ {validator => src/validator}/__init__.py | 0 {validator => src/validator}/core.py | 13 ++++++++----- {validator => src/validator}/presets/__init__.py | 0 {validator => src/validator}/presets/common.py | 2 +- 6 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 pyproject.toml rename {validator => src/validator}/__init__.py (100%) rename {validator => src/validator}/core.py (68%) rename {validator => src/validator}/presets/__init__.py (100%) rename {validator => src/validator}/presets/common.py (97%) 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