added remove miner functionality

This commit is contained in:
UpstreamData
2022-03-04 14:08:27 -07:00
parent 4534b09532
commit 80f941d912
2 changed files with 37 additions and 4 deletions

View File

@@ -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")):