diff --git a/web/app.py b/web/app.py index 1a156df..7e4a83c 100644 --- a/web/app.py +++ b/web/app.py @@ -1,15 +1,15 @@ -import os +import os import subprocess from fastapi import FastAPI, HTTPException from pydantic import BaseModel import uvicorn -# +# Определение модели для данных запроса class RunScriptRequest(BaseModel): config: str userId: str -# FastAPI +# Инициализация FastAPI приложения app = FastAPI() @app.post("/run") @@ -17,14 +17,14 @@ async def run_script(request: RunScriptRequest): config_content = request.config user_id = request.userId - # + # Создание имени файла конфигурации config_filename = f"config-id_{user_id}.ini" try: - # + # Запись конфигурации в файл with open(config_filename, 'w') as f: f.write(config_content) - # subprocess + # Выполнение команды через subprocess result = subprocess.run( ['python3', 'main.py', '-c', config_filename], stdout=subprocess.PIPE, @@ -32,13 +32,13 @@ async def run_script(request: RunScriptRequest): text=True ) - # + # Возвращение результатов выполнения скрипта return {"stdout": result.stdout, "stderr": result.stderr} except Exception as e: - raise HTTPException(status_code=500, detail=f": {str(e)}") + raise HTTPException(status_code=500, detail=f"Ошибка: {str(e)}") -# ( Uvicorn) +# Запуск приложения (для использования с Uvicorn) if __name__ == "__main__": - # FastAPI Uvicorn + # Запуск FastAPI с использованием Uvicorn uvicorn.run(app, host="0.0.0.0", port=5000)