safeshield 1.4.2__py3-none-any.whl → 1.4.4__py3-none-any.whl

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.

Potentially problematic release.


This version of safeshield might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: safeshield
3
- Version: 1.4.2
3
+ Version: 1.4.4
4
4
  Summary: Library for Help Validation Control
5
5
  Home-page: https://github.com/WunsunTarniho/py-guard
6
6
  Author: Wunsun Tarniho
@@ -74,3 +74,9 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
74
74
 
75
75
  ## v1.4.2 (2024-07-20)
76
76
  - Feature: Rule can accept function as argument, Rule Chaning
77
+
78
+ ## v1.4.3 (2024-07-20)
79
+ - Fixed: Error when validation failed
80
+
81
+ ## v1.4.3 (2024-07-20)
82
+ - Fixed: Sometimes rule failed
@@ -9,7 +9,7 @@ validator/database/manager.py,sha256=XJM_I0WaWfZWV710duAc32p1gtiP2or-MAj75WPw1oM
9
9
  validator/rules/__init__.py,sha256=z3Vk3R5CRgjeqyDWZxdofD2tBMTgdyYVuFmo1mKOTj4,830
10
10
  validator/rules/array.py,sha256=AqVoBR_chSqxPec14Av5KmR9NAByovXDNNu2oeId4-U,2528
11
11
  validator/rules/base.py,sha256=PadT5Ko3Zs_yr5EPxOfTw-IdS7uJKhGpaekF1k4tvYk,4359
12
- validator/rules/basic.py,sha256=GFdffZKW3Dzw7EOeZTyF1Oma59ZMo9zNK4gddkUMMc4,4892
12
+ validator/rules/basic.py,sha256=bZVXVtTdJWGOgUkjtAmPGS5AQs8lEBvE9xgwkZocv0M,4917
13
13
  validator/rules/boolean.py,sha256=vy6huFJ5JidpsoJ0WSvcydiU7a8aYFj225UswggSGAE,5748
14
14
  validator/rules/comparison.py,sha256=xkQ0xoqBjVlDSfgwTvruOAnXUmKlNt9kDjTcG5r4cFM,13473
15
15
  validator/rules/date.py,sha256=yolYaTIvQTN1LBje5SM8i7EmNzOxV_eUwnOokmqZrMs,5812
@@ -20,12 +20,12 @@ validator/rules/string.py,sha256=p8ZQfd0XaWIjksg_8ta3f6PEnXlxjRzlSJx1GohZ7yk,523
20
20
  validator/rules/utilities.py,sha256=ns52WbIMTt6Gs85y9kwbTfBjhmX4cfNPwA5Uw6mTaT0,11924
21
21
  validator/services/__init__.py,sha256=zzKTmqL7v4niFGWHJBfWLqgJ0iTaW_69OzYZN8uInzQ,210
22
22
  validator/services/rule_conflict.py,sha256=JVOgZWIGOviTfcCC69sQ1Bq8nzwtW0UFOx-bbF35uTM,4923
23
- validator/services/rule_error_handler.py,sha256=A9wtjpqAQsz13qUN5sh9wz7d1wc3S3RWms-BcRCECu0,10279
23
+ validator/services/rule_error_handler.py,sha256=0GoBZp12efTY1atu0MKpCXAyDWm_8DYSDrcqfjB6LM8,10415
24
24
  validator/services/rule_preparer.py,sha256=4khRjdely_0Z5mxFwf1bKIid076_xDuNh2XBO_fGerE,4706
25
25
  validator/utils/__init__.py,sha256=Yzo-xv285Be-a233M4duDdYtscuHiuBbPSX_C8yViJI,20
26
26
  validator/utils/string.py,sha256=0YACzeEaWNEOR9_7O9A8D1ItIbtWfOJ8IfrzcB8VMYA,515
27
- safeshield-1.4.2.dist-info/LICENSE,sha256=qugtRyKckyaks6hd2xyxOFSOYM6au1N80pMXuMTPvC4,1090
28
- safeshield-1.4.2.dist-info/METADATA,sha256=rQBoOn-D8UTPn31TwaR_h8WStPE0aqtJ9g-x4p6oT3I,2132
29
- safeshield-1.4.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
30
- safeshield-1.4.2.dist-info/top_level.txt,sha256=iUtV3dlHOIiMfLuY4pruY00lFni8JzOkQ3Nh1II19OE,10
31
- safeshield-1.4.2.dist-info/RECORD,,
27
+ safeshield-1.4.4.dist-info/LICENSE,sha256=qugtRyKckyaks6hd2xyxOFSOYM6au1N80pMXuMTPvC4,1090
28
+ safeshield-1.4.4.dist-info/METADATA,sha256=pXWoZejbNXEmTNlCGJaei6Ozhvf7EOPT3ZGYRei5iE8,2255
29
+ safeshield-1.4.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
30
+ safeshield-1.4.4.dist-info/top_level.txt,sha256=iUtV3dlHOIiMfLuY4pruY00lFni8JzOkQ3Nh1II19OE,10
31
+ safeshield-1.4.4.dist-info/RECORD,,
validator/rules/basic.py CHANGED
@@ -120,6 +120,7 @@ class SometimesRule(Rule):
120
120
  def validate(self, field: str, value: Any, params: List[str]) -> bool:
121
121
  if value is None:
122
122
  self.validator._is_exclude = True
123
+ return True
123
124
 
124
125
  return True
125
126
 
@@ -129,9 +129,11 @@ class RuleErrorHandler:
129
129
  for placeholder, replacement in replacements.items():
130
130
  if replacement is not None:
131
131
  # Use regex to avoid partial replacements
132
+ safe_replacement = re.escape(str(replacement))
133
+ safe_replacement = safe_replacement.replace('\\', r'')
132
134
  message = re.sub(
133
135
  re.escape(placeholder) + r'(?![a-zA-Z0-9_])',
134
- str(replacement),
136
+ safe_replacement,
135
137
  message
136
138
  )
137
139
  return message