Skip to content

Commit 780bc15

Browse files
authored
Merge pull request #150 from UncoderIO/gis-7222
Gis 7222
2 parents e251924 + e60bbfd commit 780bc15

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

uncoder-core/app/routers/translate.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from fastapi import APIRouter, Body
22

33
from app.models.translation import InfoMessage, OneTranslationData, Platform, TranslatorPlatforms
4+
from app.translator.core.context_vars import return_only_first_query_ctx_var
45
from app.translator.cti_translator import CTITranslator
56
from app.translator.translator import Translator
67

@@ -15,7 +16,9 @@ def translate_one(
1516
source_platform_id: str = Body(..., embed=True),
1617
target_platform_id: str = Body(..., embed=True),
1718
text: str = Body(..., embed=True),
19+
return_only_first_query: bool = False,
1820
) -> OneTranslationData:
21+
return_only_first_query_ctx_var.set(return_only_first_query)
1922
status, data = translator.translate_one(text=text, source=source_platform_id, target=target_platform_id)
2023
if status:
2124
return OneTranslationData(status=status, translation=data, target_platform_id=target_platform_id)
@@ -27,8 +30,11 @@ def translate_one(
2730
@st_router.post("/translate/all", tags=["translator"], description="Generate all translations")
2831
@st_router.post("/translate/all/", include_in_schema=False)
2932
def translate_all(
30-
source_platform_id: str = Body(..., embed=True), text: str = Body(..., embed=True)
33+
source_platform_id: str = Body(..., embed=True),
34+
text: str = Body(..., embed=True),
35+
return_only_first_query: bool = False,
3136
) -> list[OneTranslationData]:
37+
return_only_first_query_ctx_var.set(return_only_first_query)
3238
result = translator.translate_all(text=text, source=source_platform_id)
3339
translations = []
3440
for platform_result in result:
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
UTF8_PAYLOAD_PATTERN = r"UTF8\(payload\)"
22
NUM_VALUE_PATTERN = r"(?P<num_value>\d+(?:\.\d+)*)"
3-
SINGLE_QUOTES_VALUE_PATTERN = r"""'(?P<s_q_value>(?:[:a-zA-Z\*0-9=+%#\-\/\\|,;_<>`~".$&^@!?\(\)\{\}\[\]\s]|'')*)'"""
3+
SINGLE_QUOTES_VALUE_PATTERN = (
4+
r"""'(?P<s_q_value>(?:[:a-zA-Zа-яА-Я\*0-9=+%#\-\/\\|,;_<>`~".$&^@!?\(\)\{\}\[\]\s]|'')*)'"""
5+
)
46
TABLE_PATTERN = r"\s+FROM\s+[a-zA-Z.\-*]+"
57
TABLE_GROUP_PATTERN = r"\s+FROM\s+(?P<table>[a-zA-Z.\-*]+)"

uncoder-core/app/translator/platforms/forti_siem/renders/forti_siem_rule.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from typing import Optional, Union
1919

2020
from app.translator.const import DEFAULT_VALUE_TYPE
21+
from app.translator.core.context_vars import return_only_first_query_ctx_var
2122
from app.translator.core.custom_types.meta_info import SeverityType
2223
from app.translator.core.custom_types.tokens import GroupType, LogicalOperatorType, OperatorType
2324
from app.translator.core.custom_types.values import ValueType
@@ -273,6 +274,8 @@ def _generate_from_tokenized_query_container(self, query_container: TokenizedQue
273274
source_mapping=source_mapping,
274275
fields=mapped_fields_set,
275276
)
277+
if return_only_first_query_ctx_var.get() is True:
278+
return finalized_query
276279
queries_map[source_mapping.source_id] = finalized_query
277280

278281
return self.finalize(queries_map)

uncoder-core/app/translator/platforms/logrhythm_axon/renders/logrhythm_axon_query.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from typing import Union
2020

2121
from app.translator.const import DEFAULT_VALUE_TYPE
22+
from app.translator.core.context_vars import return_only_first_query_ctx_var
2223
from app.translator.core.custom_types.tokens import LogicalOperatorType
2324
from app.translator.core.custom_types.values import ValueType
2425
from app.translator.core.exceptions.core import StrictPlatformException
@@ -262,6 +263,8 @@ def _generate_from_tokenized_query_container(self, query_container: TokenizedQue
262263
meta_info=query_container.meta_info,
263264
source_mapping=source_mapping,
264265
)
266+
if return_only_first_query_ctx_var.get() is True:
267+
return finalized_query
265268
queries_map[source_mapping.source_id] = finalized_query
266269

267270
return self.finalize(queries_map)

0 commit comments

Comments
 (0)