77 lines
2.4 KiB
Python
77 lines
2.4 KiB
Python
from fastapi import FastAPI, Request, HTTPException
|
|
from fastapi.responses import HTMLResponse
|
|
from fastapi.staticfiles import StaticFiles
|
|
from fastapi.templating import Jinja2Templates
|
|
|
|
import json
|
|
from ordinateur import ordinateur
|
|
|
|
app = FastAPI()
|
|
|
|
ordi1 = ordinateur()
|
|
|
|
app.mount("/static", StaticFiles(directory="static"), name="static")
|
|
|
|
|
|
templates = Jinja2Templates(directory="templates")
|
|
|
|
|
|
@app.get("/ordi1", response_class=HTMLResponse)
|
|
async def get_ordi1_info(request: Request):
|
|
return templates.TemplateResponse(
|
|
request=request, name="item.html", context={"ordi": ordi1}
|
|
)
|
|
|
|
@app.post("/endpoint")
|
|
async def receive_info(request: Request):
|
|
# Lire le body brut
|
|
body = await request.body()
|
|
print(body)
|
|
|
|
|
|
# Parser le JSON
|
|
try:
|
|
data = json.loads(body)
|
|
except json.JSONDecodeError:
|
|
raise HTTPException(status_code=400, detail="Invalid JSON")
|
|
|
|
# Debug
|
|
print("Infos reçues :", data)
|
|
ordi1.mb_serial = data['HARDWARE']['mb_serial']
|
|
ordi1.hostname = data['HARDWARE']['hostname']
|
|
ordi1.cpu = data['HARDWARE']['cpu']
|
|
ordi1.cpu_id = data['HARDWARE']['cpu_id']
|
|
ordi1.memory_mb = data['HARDWARE']['memory_mb']
|
|
ordi1.ram_size = data['HARDWARE']['ram_size']
|
|
ordi1.ram_gen = data['HARDWARE']['ram_gen']
|
|
ordi1.sizes = data['HARDWARE']['sizes']
|
|
ordi1.cpu_freq_min = data['HARDWARE']['cpu_freq_min']
|
|
ordi1.cpu_freq_cur = data['HARDWARE']['cpu_freq_cur']
|
|
ordi1.cpu_freq_max = data['HARDWARE']['cpu_freq_max']
|
|
ordi1.gpu_model = data['HARDWARE']['gpu_model']
|
|
ordi1.chassis_serial = data['HARDWARE']['chassis_serial']
|
|
ordi1.cpu_cores_nb = data['HARDWARE']['cpu_cores_nb']
|
|
ordi1.cpu_threads_nb = data['HARDWARE']['cpu_threads_nb']
|
|
ordi1.ram_number = data['HARDWARE']['ram_number']
|
|
ordi1.ram_slots_nb = data['HARDWARE']['ram_slots_nb']
|
|
ordi1.os = data['SOFTWARE']['os']
|
|
ordi1.arch = data['SOFTWARE']['arch']
|
|
ordi1.desktop = data['SOFTWARE']['desktop']
|
|
ordi1.wm = data['SOFTWARE']['wm']
|
|
ordi1.kernel = data['SOFTWARE']['kernel']
|
|
ordi1.mac_adresse = data['SOFTWARE']['mac_adresse']
|
|
|
|
#Test
|
|
print(f"Le serial de la mb est {ordi1.mb_serial}")
|
|
print(f"Hostname est {ordi1.hostname}")
|
|
print(f"Your cpu is {ordi1.cpu}")
|
|
print(f"Le id de ce cpu est {ordi1.cpu_id}")
|
|
print(f"le memory en megabytes {ordi1.memory_mb}")
|
|
print(f"Voici numéro de ram {ordi1.ram_number}")
|
|
return ({"status": "ok"})
|
|
|
|
|
|
#@app.get("/ordi1")
|
|
#async def get_ordi1_info():
|
|
# return ordi1
|