Skip to content

Commit 164b34c

Browse files
authored
Merge pull request #38 from UncoderIO/logscale_qradar_escape_fix
Logscale and qradar escaping fixes
2 parents cf9753e + afdbd9d commit 164b34c

File tree

4 files changed

+5
-9
lines changed

4 files changed

+5
-9
lines changed

translator/app/translator/platforms/logscale/escape_manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
class LogscaleEscapeManager(EscapeManager):
77
escape_map = {
8-
ValueType.value: EscapeDetails(pattern='(\+|\\\\|{|\[|\*|"|\(|\)|/(?![*?\\\\]))')
8+
ValueType.value: EscapeDetails(pattern='(/|\+|\\\\|{|\[|\*|"|\(|\)(?![*?\\\\]))')
99
}
1010

1111

translator/app/translator/platforms/logscale/renders/logscale.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def not_equal_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
6363
def contains_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
6464
if isinstance(value, list):
6565
return f"({self.or_token.join(self.contains_modifier(field=field, value=v) for v in value)})"
66-
return f'{self.apply_field_name(field_name=field)}=/{self.apply_value(value)}/i'
66+
return f'{self.apply_field_name(field_name=field)}=/{self.apply_value(value) if value else "^"}/i'
6767

6868
def endswith_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
6969
if isinstance(value, list):
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
from app.translator.core.custom_types.values import ValueType
21
from app.translator.core.escape_manager import EscapeManager
3-
from app.translator.core.models.escape_details import EscapeDetails
42

53

64
class QradarEscapeManager(EscapeManager):
7-
escape_map = {
8-
ValueType.value: EscapeDetails(pattern="([\\\])")
9-
}
5+
escape_map = {}
106

117

128
qradar_escape_manager = QradarEscapeManager()

translator/app/translator/platforms/qradar/renders/qradar.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ class QradarFieldValue(BaseQueryFieldValue):
3535

3636
def apply_value(self, value: Union[str, int], value_type: str = ValueType.value) -> Union[str, int]:
3737
if isinstance(value, str):
38-
value = value.replace("\\'", "%").replace("'", '"')
38+
value = value.replace("_", "__").replace("%", "%%").replace("\\'", "%").replace("'", '"')
3939
if value.endswith("\\\\%"):
4040
value = value.replace("\\\\%", "\\%")
41-
return super().apply_value(value, value_type)
41+
return value
4242

4343
def _apply_value(self, value: Union[str, int]) -> Union[str, int]:
4444
if isinstance(value, str) and "\\" in value:

0 commit comments

Comments
 (0)