From b09d02b394329918af4e38cc9a7ae63ed5b66922 Mon Sep 17 00:00:00 2001 From: "nazar.gesyk" Date: Wed, 10 Jan 2024 17:38:55 +0200 Subject: [PATCH] Logscale escaping fix --- .../translator/platforms/logscale/escape_manager.py | 2 +- .../translator/platforms/logscale/renders/logscale.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/translator/app/translator/platforms/logscale/escape_manager.py b/translator/app/translator/platforms/logscale/escape_manager.py index 2a5c8aac..5c42ad7d 100644 --- a/translator/app/translator/platforms/logscale/escape_manager.py +++ b/translator/app/translator/platforms/logscale/escape_manager.py @@ -5,7 +5,7 @@ class LogscaleEscapeManager(EscapeManager): escape_map = { - ValueType.value: EscapeDetails(pattern='(/|\+|\\\\|{|\[|\*|"|\(|\)(?![*?\\\\]))') + ValueType.value: EscapeDetails(pattern='(\\\\|/|\+|{|\[|\*|"|\(|\))') } diff --git a/translator/app/translator/platforms/logscale/renders/logscale.py b/translator/app/translator/platforms/logscale/renders/logscale.py index aff37dcb..f93bb9e1 100644 --- a/translator/app/translator/platforms/logscale/renders/logscale.py +++ b/translator/app/translator/platforms/logscale/renders/logscale.py @@ -19,14 +19,14 @@ from typing import Union from app.translator.const import DEFAULT_VALUE_TYPE +from app.translator.core.mapping import SourceMapping +from app.translator.core.models.parser_output import MetaInfoContainer +from app.translator.core.models.platform_details import PlatformDetails +from app.translator.core.render import BaseQueryFieldValue, BaseQueryRender from app.translator.platforms.logscale.const import logscale_query_details from app.translator.platforms.logscale.escape_manager import logscale_escape_manager from app.translator.platforms.logscale.functions import LogScaleFunctions, log_scale_functions from app.translator.platforms.logscale.mapping import LogScaleMappings, logscale_mappings -from app.translator.core.mapping import SourceMapping -from app.translator.core.models.platform_details import PlatformDetails -from app.translator.core.models.parser_output import MetaInfoContainer -from app.translator.core.render import BaseQueryRender, BaseQueryFieldValue class LogScaleFieldValue(BaseQueryFieldValue): @@ -41,6 +41,8 @@ def apply_field_name(self, field_name: str) -> str: def equal_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str: if isinstance(value, list): return f"({self.or_token.join(self.equal_modifier(field=field, value=v) for v in value)})" + if value == "": + return f'{self.apply_field_name(field_name=field)}=""' return f'{self.apply_field_name(field_name=field)}=/{self.apply_value(value)}/i' def less_modifier(self, field: str, value: Union[int, str]) -> str: