safeshield 1.4.5__tar.gz → 1.4.6__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.
Files changed (36) hide show
  1. {safeshield-1.4.5 → safeshield-1.4.6}/PKG-INFO +1 -1
  2. {safeshield-1.4.5 → safeshield-1.4.6}/safeshield.egg-info/PKG-INFO +1 -1
  3. {safeshield-1.4.5 → safeshield-1.4.6}/setup.py +1 -1
  4. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/utilities.py +17 -0
  5. {safeshield-1.4.5 → safeshield-1.4.6}/LICENSE +0 -0
  6. {safeshield-1.4.5 → safeshield-1.4.6}/README.md +0 -0
  7. {safeshield-1.4.5 → safeshield-1.4.6}/safeshield.egg-info/SOURCES.txt +0 -0
  8. {safeshield-1.4.5 → safeshield-1.4.6}/safeshield.egg-info/dependency_links.txt +0 -0
  9. {safeshield-1.4.5 → safeshield-1.4.6}/safeshield.egg-info/requires.txt +0 -0
  10. {safeshield-1.4.5 → safeshield-1.4.6}/safeshield.egg-info/top_level.txt +0 -0
  11. {safeshield-1.4.5 → safeshield-1.4.6}/setup.cfg +0 -0
  12. {safeshield-1.4.5 → safeshield-1.4.6}/validator/__init__.py +0 -0
  13. {safeshield-1.4.5 → safeshield-1.4.6}/validator/core/__init__.py +0 -0
  14. {safeshield-1.4.5 → safeshield-1.4.6}/validator/core/validator.py +0 -0
  15. {safeshield-1.4.5 → safeshield-1.4.6}/validator/database/__init__.py +0 -0
  16. {safeshield-1.4.5 → safeshield-1.4.6}/validator/database/detector.py +0 -0
  17. {safeshield-1.4.5 → safeshield-1.4.6}/validator/database/manager.py +0 -0
  18. {safeshield-1.4.5 → safeshield-1.4.6}/validator/exceptions.py +0 -0
  19. {safeshield-1.4.5 → safeshield-1.4.6}/validator/factory.py +0 -0
  20. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/__init__.py +0 -0
  21. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/array.py +0 -0
  22. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/base.py +0 -0
  23. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/basic.py +0 -0
  24. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/boolean.py +0 -0
  25. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/comparison.py +0 -0
  26. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/date.py +0 -0
  27. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/files.py +0 -0
  28. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/format.py +0 -0
  29. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/numeric.py +0 -0
  30. {safeshield-1.4.5 → safeshield-1.4.6}/validator/rules/string.py +0 -0
  31. {safeshield-1.4.5 → safeshield-1.4.6}/validator/services/__init__.py +0 -0
  32. {safeshield-1.4.5 → safeshield-1.4.6}/validator/services/rule_conflict.py +0 -0
  33. {safeshield-1.4.5 → safeshield-1.4.6}/validator/services/rule_error_handler.py +0 -0
  34. {safeshield-1.4.5 → safeshield-1.4.6}/validator/services/rule_preparer.py +0 -0
  35. {safeshield-1.4.5 → safeshield-1.4.6}/validator/utils/__init__.py +0 -0
  36. {safeshield-1.4.5 → safeshield-1.4.6}/validator/utils/string.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: safeshield
3
- Version: 1.4.5
3
+ Version: 1.4.6
4
4
  Summary: Library for Help Validation Control
5
5
  Home-page: https://github.com/WunsunTarniho/py-guard
6
6
  Author: Wunsun Tarniho
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: safeshield
3
- Version: 1.4.5
3
+ Version: 1.4.6
4
4
  Summary: Library for Help Validation Control
5
5
  Home-page: https://github.com/WunsunTarniho/py-guard
6
6
  Author: Wunsun Tarniho
@@ -7,7 +7,7 @@ def get_requirements():
7
7
 
8
8
  setup(
9
9
  name="safeshield", # Nama package di PyPI
10
- version="1.4.5",
10
+ version="1.4.6",
11
11
  packages=find_packages(),
12
12
  install_requires=get_requirements(),
13
13
  author="Wunsun Tarniho",
@@ -264,6 +264,23 @@ class MissingWithAllRule(MissingRule):
264
264
 
265
265
  return True
266
266
 
267
+ class IncludeIfRule(ExcludeRule):
268
+ def validate(self, field: str, value: Any, params: List[str]) -> bool:
269
+ if len(params) == 1 and callable(params[0]):
270
+ condition_met = params[0](self.validator.data)
271
+ elif len(params) == 1 and isinstance(params[0], bool):
272
+ condition_met = params[0]
273
+ else:
274
+ conditions = list(zip(params[::2], params[1::2]))
275
+ condition_met = all(
276
+ str(self.get_field_value(f)) == str(v)
277
+ for f, v in conditions
278
+ )
279
+
280
+ if not condition_met:
281
+ return super().validate(field, value, params)
282
+ return True
283
+
267
284
  class ExcludeIfRule(ExcludeRule):
268
285
  def validate(self, field: str, value: Any, params: List[str]) -> bool:
269
286
  if len(params) == 1 and callable(params[0]):
File without changes
File without changes
File without changes