50
50
}
51
51
52
52
53
-
54
53
class CortexXQLFieldValueRender (BaseFieldValueRender ):
55
54
details : PlatformDetails = cortex_xql_query_details
56
55
str_value_manager = cortex_xql_str_value_manager
@@ -72,7 +71,8 @@ def _wrap_str_value(value: str) -> str:
72
71
def equal_modifier (self , field : str , value : DEFAULT_VALUE_TYPE ) -> str :
73
72
if isinstance (value , list ):
74
73
values = ", " .join (
75
- f"{ self ._pre_process_value (field , v , value_type = ValueType .value , wrap_str = True )} " for v in value
74
+ f"{ self ._pre_process_value (field , str (v ) if isinstance (v , int ) else v , ValueType .value , True )} "
75
+ for v in value
76
76
)
77
77
return f"{ field } in ({ values } )"
78
78
@@ -123,7 +123,11 @@ def startswith_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
123
123
def regex_modifier (self , field : str , value : DEFAULT_VALUE_TYPE ) -> str :
124
124
if isinstance (value , list ):
125
125
return f"({ self .or_token .join (self .regex_modifier (field = field , value = v ) for v in value )} )"
126
- return f"{ field } ~= { self ._pre_process_value (field ,value , value_type = ValueType .regex_value , wrap_str = True )} "
126
+ value = self ._pre_process_value (field , value , value_type = ValueType .regex_value , wrap_str = True )
127
+ if value .endswith ('\\ \\ "' ):
128
+ value = value [:- 1 ] + "]" + value [- 1 :]
129
+ value = value [:- 4 ] + "[" + value [- 4 :]
130
+ return f"{ field } ~= { value } "
127
131
128
132
def not_regex_modifier (self , field : str , value : DEFAULT_VALUE_TYPE ) -> str :
129
133
if isinstance (value , list ):
0 commit comments