safeshield 1.4.7__tar.gz → 1.4.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {safeshield-1.4.7 → safeshield-1.4.9}/PKG-INFO +1 -1
- {safeshield-1.4.7 → safeshield-1.4.9}/safeshield.egg-info/PKG-INFO +1 -1
- {safeshield-1.4.7 → safeshield-1.4.9}/setup.py +1 -1
- safeshield-1.4.9/validator/factory.py +35 -0
- safeshield-1.4.7/validator/factory.py +0 -26
- {safeshield-1.4.7 → safeshield-1.4.9}/LICENSE +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/README.md +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/safeshield.egg-info/SOURCES.txt +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/safeshield.egg-info/dependency_links.txt +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/safeshield.egg-info/requires.txt +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/safeshield.egg-info/top_level.txt +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/setup.cfg +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/__init__.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/core/__init__.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/core/validator.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/database/__init__.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/database/detector.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/database/manager.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/exceptions.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/__init__.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/array.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/base.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/basic.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/boolean.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/comparison.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/date.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/files.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/format.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/numeric.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/string.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/rules/utilities.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/services/__init__.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/services/rule_conflict.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/services/rule_error_handler.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/services/rule_preparer.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/utils/__init__.py +0 -0
- {safeshield-1.4.7 → safeshield-1.4.9}/validator/utils/string.py +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# factory.py
|
|
2
|
+
from typing import Type, Dict, List, Any
|
|
3
|
+
from validator.rules import all_rules
|
|
4
|
+
from validator.rules.base import Rule
|
|
5
|
+
|
|
6
|
+
class RuleFactory:
|
|
7
|
+
_rules: Dict[str, Type[Rule]] = all_rules
|
|
8
|
+
|
|
9
|
+
@classmethod
|
|
10
|
+
def create_rule(cls, rule_name: str) -> Rule:
|
|
11
|
+
try:
|
|
12
|
+
return cls._rules[rule_name]()
|
|
13
|
+
except KeyError:
|
|
14
|
+
raise ValueError(f"Unknown validation rule: {rule_name}")
|
|
15
|
+
|
|
16
|
+
@classmethod
|
|
17
|
+
def register_rule(cls, name: str, validate_func: callable, message_func: callable):
|
|
18
|
+
class NewRule(Rule):
|
|
19
|
+
_name = name
|
|
20
|
+
|
|
21
|
+
def validate(self, field: str, value: Any, params: List[str]) -> bool:
|
|
22
|
+
return validate_func(field, value, params)
|
|
23
|
+
|
|
24
|
+
def message(self, field: str) -> str:
|
|
25
|
+
return message_func(field, self.params)
|
|
26
|
+
|
|
27
|
+
cls._rules[name] = NewRule
|
|
28
|
+
|
|
29
|
+
@classmethod
|
|
30
|
+
def has_rule(cls, rule_name: str) -> bool:
|
|
31
|
+
return rule_name in cls._rules
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def get_rule_names(cls) -> List[str]:
|
|
35
|
+
return list(cls._rules.keys())
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# factory.py
|
|
2
|
-
from typing import Type, Dict, List
|
|
3
|
-
from validator.rules import all_rules
|
|
4
|
-
from validator.rules.base import Rule
|
|
5
|
-
|
|
6
|
-
class RuleFactory:
|
|
7
|
-
_rules: Dict[str, Type[Rule]] = all_rules
|
|
8
|
-
|
|
9
|
-
@classmethod
|
|
10
|
-
def create_rule(cls, rule_name: str) -> Rule:
|
|
11
|
-
try:
|
|
12
|
-
return cls._rules[rule_name]()
|
|
13
|
-
except KeyError:
|
|
14
|
-
raise ValueError(f"Unknown validation rule: {rule_name}")
|
|
15
|
-
|
|
16
|
-
@classmethod
|
|
17
|
-
def register_rule(cls, name: str, rule_class: Type[Rule]):
|
|
18
|
-
cls._rules[name] = rule_class
|
|
19
|
-
|
|
20
|
-
@classmethod
|
|
21
|
-
def has_rule(cls, rule_name: str) -> bool:
|
|
22
|
-
return rule_name in cls._rules
|
|
23
|
-
|
|
24
|
-
@classmethod
|
|
25
|
-
def get_rule_names(cls) -> List[str]:
|
|
26
|
-
return list(cls._rules.keys())
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|