From 195b3c361128f6a47fbb33db8037b2e8338fc263 Mon Sep 17 00:00:00 2001 From: GEgorov Date: Tue, 7 Oct 2025 02:02:27 +0300 Subject: [PATCH] modified: backend/src/services/ScriptExecutor.ts --- backend/src/services/ScriptExecutor.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/services/ScriptExecutor.ts b/backend/src/services/ScriptExecutor.ts index 1662b4a..d81ecd1 100644 --- a/backend/src/services/ScriptExecutor.ts +++ b/backend/src/services/ScriptExecutor.ts @@ -72,16 +72,19 @@ export class ScriptExecutor { */ async executePython(code: string, context: ScriptContext): Promise { return new Promise((resolve, reject) => { + // Сериализуем параметры в JSON строку + const paramsJson = JSON.stringify(context.requestParams); + // Создаем wrapper код для Python const wrapperCode = ` import json import sys from datetime import datetime -# Параметры запроса -params = ${JSON.stringify(context.requestParams)} +# Параметры запроса - парсим JSON (автоматически конвертирует null->None, true->True, false->False) +params = json.loads('''${paramsJson}''') -# Функция для выполнения SQL запросов +# Функция для выполнения SQL запросов (синхронная, НЕ используйте await!) def exec_query(query_name, additional_params=None): if additional_params is None: additional_params = {}