Compare commits
3 Commits
4624442991
...
fix-parser
| Author | SHA1 | Date | |
|---|---|---|---|
| 31fad98133 | |||
| 88294de506 | |||
| cb8e8b2483 |
@@ -164,10 +164,25 @@ async def get_server_info():
|
||||
"""Получение подробной информации о сервере"""
|
||||
import platform
|
||||
import sys
|
||||
import os
|
||||
import psutil
|
||||
|
||||
# Получаем информацию о процессе
|
||||
process = psutil.Process()
|
||||
parent_process = process.parent()
|
||||
|
||||
# Получаем информацию о системе
|
||||
cpu_cores = psutil.cpu_count()
|
||||
memory_info = psutil.virtual_memory()
|
||||
memory_mb = memory_info.total / (1024 * 1024) # Конвертируем в MB
|
||||
|
||||
return {
|
||||
"message": "Svodka Parser API",
|
||||
"version": "1.0.0",
|
||||
"process_id": process.pid,
|
||||
"parent_id": parent_process.pid if parent_process else None,
|
||||
"cpu_cores": cpu_cores,
|
||||
"memory_mb": memory_mb,
|
||||
"python_version": sys.version,
|
||||
"platform": platform.platform(),
|
||||
"available_parsers": list(PARSERS.keys())
|
||||
|
||||
@@ -41,20 +41,20 @@ def get_async_report_service() -> AsyncReportService:
|
||||
500: {"model": UploadErrorResponse, "description": "Внутренняя ошибка сервера"}
|
||||
},)
|
||||
async def upload_oper_spravka_tech_pos(
|
||||
file: UploadFile = File(..., description="Excel файл оперативной справки техпос (.xlsx, .xlsm, .xls)")
|
||||
file: UploadFile = File(..., description="ZIP архив с файлами оперативной справки техпос (.zip)")
|
||||
):
|
||||
"""Загрузка и обработка отчета оперативной справки техпос"""
|
||||
report_service = get_report_service()
|
||||
|
||||
try:
|
||||
if not file.filename.endswith(('.xlsx', '.xlsm', '.xls')):
|
||||
if not file.filename.endswith('.zip'):
|
||||
return JSONResponse(
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
content=UploadErrorResponse(
|
||||
message="Поддерживаются только Excel файлы (.xlsx, .xlsm, .xls)",
|
||||
message="Поддерживаются только ZIP архивы (.zip)",
|
||||
error_code="INVALID_FILE_TYPE",
|
||||
details={
|
||||
"expected_formats": [".xlsx", ".xlsm", ".xls"],
|
||||
"expected_formats": [".zip"],
|
||||
"received_format": file.filename.split('.')[-1] if '.' in file.filename else "unknown"
|
||||
}
|
||||
).model_dump()
|
||||
@@ -115,9 +115,11 @@ async def get_oper_spravka_tech_pos_data(
|
||||
result = report_service.get_data(request)
|
||||
|
||||
if result.success:
|
||||
# Извлекаем данные из result.data["value"]
|
||||
data = result.data.get("value", []) if isinstance(result.data, dict) else result.data
|
||||
return OperSpravkaTechPosResponse(
|
||||
success=True,
|
||||
data=result.data
|
||||
data=data
|
||||
)
|
||||
else:
|
||||
raise HTTPException(status_code=404, detail=result.message)
|
||||
@@ -136,20 +138,20 @@ async def get_oper_spravka_tech_pos_data(
|
||||
500: {"model": UploadErrorResponse, "description": "Внутренняя ошибка сервера"}
|
||||
},)
|
||||
async def async_upload_oper_spravka_tech_pos(
|
||||
file: UploadFile = File(..., description="Excel файл оперативной справки техпос (.xlsx, .xlsm, .xls)")
|
||||
file: UploadFile = File(..., description="ZIP архив с файлами оперативной справки техпос (.zip)")
|
||||
):
|
||||
"""Асинхронная загрузка и обработка отчета оперативной справки техпос"""
|
||||
async_service = get_async_report_service()
|
||||
|
||||
try:
|
||||
if not file.filename.endswith(('.xlsx', '.xlsm', '.xls')):
|
||||
if not file.filename.endswith('.zip'):
|
||||
return JSONResponse(
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
content=UploadErrorResponse(
|
||||
message="Поддерживаются только Excel файлы (.xlsx, .xlsm, .xls)",
|
||||
message="Поддерживаются только ZIP архивы (.zip)",
|
||||
error_code="INVALID_FILE_TYPE",
|
||||
details={
|
||||
"expected_formats": [".xlsx", ".xlsm", ".xls"],
|
||||
"expected_formats": [".zip"],
|
||||
"received_format": file.filename.split('.')[-1] if '.' in file.filename else "unknown"
|
||||
}
|
||||
).model_dump()
|
||||
|
||||
@@ -11,4 +11,5 @@ requests>=2.31.0
|
||||
# pytest-cov>=4.0.0
|
||||
# pytest-mock>=3.10.0
|
||||
httpx>=0.24.0
|
||||
numpy
|
||||
numpy
|
||||
psutil>=5.9.0
|
||||
Reference in New Issue
Block a user