From 486d46c46733f437a15e92bcf2e1fd21d702c6d6 Mon Sep 17 00:00:00 2001 From: "s.galanskiy" Date: Fri, 4 Jul 2025 16:03:59 +0500 Subject: [PATCH] =?UTF-8?q?=D0=AD=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82=20?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=B5=D0=BA=20=D0=B4=D0=BE=D1=81=D1=82=D1=83?= =?UTF-8?q?=D0=BF=D0=B0=20=D0=B8=20=D1=83=D0=B7=D0=BB=D0=BE=D0=B2=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D1=81=D0=B5=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SRV/api/v1/settings.py | 41 +++++++++++++++++++++++++++++++++++++---- SRV/main.py | 4 ++-- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/SRV/api/v1/settings.py b/SRV/api/v1/settings.py index 4331550..bd491e8 100644 --- a/SRV/api/v1/settings.py +++ b/SRV/api/v1/settings.py @@ -72,14 +72,47 @@ def clear_all_data(): except Exception as e: raise HTTPException(status_code=500, detail=f"Ошибка очистки: {str(e)}") -DEVICE_PATH = "/home/merelden/main/projects/all/gonets/SRV/storage/devices/devices.json" +DEVICE_PATH = "storage/devices/devices.json" +WIFI_PATH = "storage/wifi/wifi.json" -@router.get("/export", response_class=FileResponse) +@router.get("/export_devices", response_class=FileResponse) async def export_devices(): + """ + Экспортирует файл с данными устройств в формате JSON. + + Returns: + FileResponse: Файл devices.json для скачивания. + + Raises: + HTTPException: Если файл не найден (status_code=404). + """ if not os.path.exists(DEVICE_PATH): - return {"error": "Файл не найден"} + logger.warning(f"Файл для экспорта не найден: {DEVICE_PATH}") + raise HTTPException(status_code=404, detail="Файл не найден") + logger.info(f"Экспорт файла: {DEVICE_PATH}") return FileResponse( path=DEVICE_PATH, - filename="device.json", + filename="devices.json", + media_type="application/json" + ) + +@router.get("/export_wifi", response_class=FileResponse) +async def export_wifi(): + """ + Экспортирует файл с данными устройств в формате JSON. + + Returns: + FileResponse: Файл devices.json для скачивания. + + Raises: + HTTPException: Если файл не найден (status_code=404). + """ + if not os.path.exists(WIFI_PATH): + logger.warning(f"Файл для экспорта не найден: {WIFI_PATH}") + raise HTTPException(status_code=404, detail="Файл не найден") + logger.info(f"Экспорт файла: {WIFI_PATH}") + return FileResponse( + path=WIFI_PATH, + filename="wifi.json", media_type="application/json" ) \ No newline at end of file diff --git a/SRV/main.py b/SRV/main.py index 1f01b6b..3511099 100644 --- a/SRV/main.py +++ b/SRV/main.py @@ -18,5 +18,5 @@ app.include_router(router) network_service = NetworkService() if __name__ == "__main__": - #uvicorn.run("main:app", host='0.0.0.0', port=8001, reload=True, ssl_keyfile="/etc/gonets/certs/gonets.key", ssl_certfile="/etc/gonets/certs/gonets.crt") - uvicorn.run("main:app", host="0.0.0.0", port=8001, reload=True) + uvicorn.run("main:app", host='0.0.0.0', port=8001, reload=True, ssl_keyfile="/etc/gonets/certs/gonets.key", ssl_certfile="/etc/gonets/certs/gonets.crt") + #uvicorn.run("main:app", host="0.0.0.0", port=8001, reload=True)