ciyidogan commited on
Commit
2bfc495
Β·
verified Β·
1 Parent(s): b69c342

Update validation_engine.py

Browse files
Files changed (1) hide show
  1. validation_engine.py +56 -57
validation_engine.py CHANGED
@@ -1,57 +1,56 @@
1
- import re
2
- from log import log
3
-
4
-
5
- class ValidationEngine:
6
- def __init__(self):
7
- pass
8
-
9
- def validate_parameters(self, intent_def, variables):
10
- """
11
- Checks all parameters defined in the intent against provided variables.
12
- Returns: (is_valid, error_messages)
13
- """
14
- is_valid = True
15
- error_messages = []
16
-
17
- for param_def in intent_def.get("parameters", []):
18
- name = param_def.get("name")
19
- expected_type = param_def.get("type", "string")
20
- regex = param_def.get("regex")
21
- validation_message = param_def.get("validation_message", f"Invalid value for {name}.")
22
-
23
- value = variables.get(name)
24
-
25
- # Check existence
26
- if value is None:
27
- continue # Missing parameters are handled elsewhere
28
-
29
- # Type check
30
- if expected_type == "string":
31
- if not isinstance(value, str):
32
- is_valid = False
33
- error_messages.append(f"{validation_message} Expected a string.")
34
- continue
35
- elif expected_type == "int":
36
- if not isinstance(value, int):
37
- is_valid = False
38
- error_messages.append(f"{validation_message} Expected an integer.")
39
- continue
40
- elif expected_type == "float":
41
- if not isinstance(value, float):
42
- is_valid = False
43
- error_messages.append(f"{validation_message} Expected a float.")
44
- continue
45
-
46
- # Regex check
47
- if regex and isinstance(value, str):
48
- if not re.match(regex, value):
49
- is_valid = False
50
- error_messages.append(validation_message)
51
-
52
- if is_valid:
53
- log("βœ… Parameter validation passed.")
54
- else:
55
- log(f"❌ Parameter validation failed: {error_messages}")
56
-
57
- return is_valid, error_messages
 
1
+ import re
2
+ from utils import log
3
+
4
+ class ValidationEngine:
5
+ def __init__(self):
6
+ pass
7
+
8
+ def validate_parameters(self, intent_def, variables):
9
+ """
10
+ Checks all parameters defined in the intent against provided variables.
11
+ Returns: (is_valid, error_messages)
12
+ """
13
+ is_valid = True
14
+ error_messages = []
15
+
16
+ for param_def in intent_def.get("parameters", []):
17
+ name = param_def.get("name")
18
+ expected_type = param_def.get("type", "string")
19
+ regex = param_def.get("regex")
20
+ validation_message = param_def.get("validation_message", f"Invalid value for {name}.")
21
+
22
+ value = variables.get(name)
23
+
24
+ # Check existence
25
+ if value is None:
26
+ continue # Missing parameters are handled elsewhere
27
+
28
+ # Type check
29
+ if expected_type == "string":
30
+ if not isinstance(value, str):
31
+ is_valid = False
32
+ error_messages.append(f"{validation_message} Expected a string.")
33
+ continue
34
+ elif expected_type == "int":
35
+ if not isinstance(value, int):
36
+ is_valid = False
37
+ error_messages.append(f"{validation_message} Expected an integer.")
38
+ continue
39
+ elif expected_type == "float":
40
+ if not isinstance(value, float):
41
+ is_valid = False
42
+ error_messages.append(f"{validation_message} Expected a float.")
43
+ continue
44
+
45
+ # Regex check
46
+ if regex and isinstance(value, str):
47
+ if not re.match(regex, value):
48
+ is_valid = False
49
+ error_messages.append(validation_message)
50
+
51
+ if is_valid:
52
+ log("βœ… Parameter validation passed.")
53
+ else:
54
+ log(f"❌ Parameter validation failed: {error_messages}")
55
+
56
+ return is_valid, error_messages