Сервисы
This commit is contained in:
@@ -100,8 +100,34 @@ class ReportService:
|
|||||||
# Получаем парсер
|
# Получаем парсер
|
||||||
parser = get_parser(request.report_type)
|
parser = get_parser(request.report_type)
|
||||||
|
|
||||||
# Получаем значение
|
# Устанавливаем DataFrame в парсер для использования в геттерах
|
||||||
value = parser.get_value(df, request.get_params)
|
parser.df = df
|
||||||
|
|
||||||
|
# Получаем параметры запроса
|
||||||
|
get_params = request.get_params or {}
|
||||||
|
|
||||||
|
# Определяем имя геттера (по умолчанию используем первый доступный)
|
||||||
|
getter_name = get_params.pop("getter", None)
|
||||||
|
if not getter_name:
|
||||||
|
# Если геттер не указан, берем первый доступный
|
||||||
|
available_getters = list(parser.getters.keys())
|
||||||
|
if available_getters:
|
||||||
|
getter_name = available_getters[0]
|
||||||
|
print(f"⚠️ Геттер не указан, используем первый доступный: {getter_name}")
|
||||||
|
else:
|
||||||
|
return DataResult(
|
||||||
|
success=False,
|
||||||
|
message="Парсер не имеет доступных геттеров"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Получаем значение через указанный геттер
|
||||||
|
try:
|
||||||
|
value = parser.get_value(getter_name, get_params)
|
||||||
|
except ValueError as e:
|
||||||
|
return DataResult(
|
||||||
|
success=False,
|
||||||
|
message=f"Ошибка параметров: {str(e)}"
|
||||||
|
)
|
||||||
|
|
||||||
# Формируем результат
|
# Формируем результат
|
||||||
if value is not None:
|
if value is not None:
|
||||||
|
|||||||
Reference in New Issue
Block a user