TEMP: Working data pipeline & rendering

This commit is contained in:
2024-06-01 16:14:29 +03:00
parent f1c3cf8758
commit 964e9b3806
8 changed files with 460 additions and 207 deletions

View File

@ -1,10 +1,8 @@
from fastapi import Request, FastAPI
from fastapi.staticfiles import StaticFiles
from datetime import datetime
from .collector import parse_traceroute_output, store_traceroute
from .db import ensure_table_setup
from .db import Database, ensure_table_setup
from pprint import pprint as print
@ -14,7 +12,8 @@ ensure_table_setup()
# Setup web framework thingies
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
app.mount("/static", StaticFiles(directory="app/static"), name="static")
@app.get("/")
def read_root():
@ -33,23 +32,36 @@ def read_root():
"",
"",
"END OF TRANSMISSION",
] + [None]*800
]
+ [None] * 800,
}
@app.post("/trace/{hostname}")
async def create_trace(hostname: str, request: Request):
@app.get("/trace/")
def list_traces():
db = Database()
trace = db.list_traces()
db.end()
return trace
@app.post("/trace/{origin}")
async def create_trace(origin: str, request: Request):
raw_data = await request.body()
data = raw_data.decode("utf-8", "ignore")
print(f"Received data from {hostname}:")
print(f"Received data from {origin}:")
print(data)
trace = parse_traceroute_output(data, datetime.now())
trace = parse_traceroute_output(data, origin)
print("Parsed data:")
print(trace)
store_traceroute(hostname, trace)
db = Database()
db.create_trace(trace)
db.end()
return {"status": "ok" }
return {"status": "ok"}