From 727ebd9c427bb30fc0cbfd8d45f0536a4aa5cd89 Mon Sep 17 00:00:00 2001 From: UpstreamData Date: Fri, 4 Mar 2022 14:08:27 -0700 Subject: [PATCH] added remove miner functionality --- tools/web_monitor/app.py | 18 +++++++++++++++--- tools/web_monitor/templates/miner.html | 23 ++++++++++++++++++++++- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/tools/web_monitor/app.py b/tools/web_monitor/app.py index 4e527be4..87e25594 100644 --- a/tools/web_monitor/app.py +++ b/tools/web_monitor/app.py @@ -5,8 +5,8 @@ import os import asyncio import uvicorn import websockets.exceptions -from fastapi import FastAPI -from fastapi import Request +from fastapi import FastAPI, Request +from fastapi.responses import RedirectResponse from fastapi import WebSocket, WebSocketDisconnect from fastapi.templating import Jinja2Templates from fastapi.staticfiles import StaticFiles @@ -46,7 +46,7 @@ async def dashboard_websocket(websocket: WebSocket): all_miner_data.sort(key=lambda x: x["ip"]) await websocket.send_json({"datetime": datetime.datetime.now().isoformat(), "miners": all_miner_data}) - await asyncio.sleep(.1) + await asyncio.sleep(1) except WebSocketDisconnect: print("Websocket disconnected.") pass @@ -180,6 +180,18 @@ def get_miner(request: Request, miner_ip): }) +@app.get("/miner/{miner_ip}/remove") +def get_miner(request: Request, miner_ip): + miners = get_current_miner_list() + miners.remove(miner_ip) + with open("miner_list.txt", "w") as file: + for miner in miners: + file.write(miner + "\n") + + return RedirectResponse(request.url_for('dashboard')) + + + def get_current_miner_list(): cur_miners = [] if os.path.exists(os.path.join(os.getcwd(), "miner_list.txt")): diff --git a/tools/web_monitor/templates/miner.html b/tools/web_monitor/templates/miner.html index 4ad19a79..8b4db976 100644 --- a/tools/web_monitor/templates/miner.html +++ b/tools/web_monitor/templates/miner.html @@ -8,7 +8,28 @@
- Remove + + + + Web Interface