sql alchemy
This commit is contained in:
parent
46e5337948
commit
8cf27163e4
64
app.py
64
app.py
@ -2,9 +2,10 @@ from fastapi import FastAPI, Request, HTTPException
|
|||||||
from fastapi.responses import HTMLResponse
|
from fastapi.responses import HTMLResponse
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
from fastapi.templating import Jinja2Templates
|
from fastapi.templating import Jinja2Templates
|
||||||
|
from sqlmodel import Field, Session, SQLModel, create_engine, select
|
||||||
|
|
||||||
import json
|
import json
|
||||||
from ordinateur import ordinateur
|
from models import ordinateur
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
@ -15,6 +16,15 @@ app.mount("/static", StaticFiles(directory="static"), name="static")
|
|||||||
|
|
||||||
templates = Jinja2Templates(directory="templates")
|
templates = Jinja2Templates(directory="templates")
|
||||||
|
|
||||||
|
# Code above omitted
|
||||||
|
|
||||||
|
sqlite_file_name = "database.db"
|
||||||
|
sqlite_url = f"sqlite:///{sqlite_file_name}"
|
||||||
|
|
||||||
|
connect_args = {"check_same_thread": False}
|
||||||
|
engine = create_engine(sqlite_url, connect_args=connect_args)
|
||||||
|
|
||||||
|
# Code below omitted
|
||||||
|
|
||||||
@app.get("/ordi1", response_class=HTMLResponse)
|
@app.get("/ordi1", response_class=HTMLResponse)
|
||||||
async def get_ordi1_info(request: Request):
|
async def get_ordi1_info(request: Request):
|
||||||
@ -35,31 +45,37 @@ async def receive_info(request: Request):
|
|||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
raise HTTPException(status_code=400, detail="Invalid JSON")
|
raise HTTPException(status_code=400, detail="Invalid JSON")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Debug
|
# Debug
|
||||||
|
hardware = data.get('HARDWARE',{})
|
||||||
|
software = data.get('SOFTWARE',{})
|
||||||
|
|
||||||
print("Infos reçues :", data)
|
print("Infos reçues :", data)
|
||||||
ordi1.mb_serial = data['HARDWARE']['mb_serial']
|
ordi1.mb_serial = hardware.get("mb_serial", "")
|
||||||
ordi1.hostname = data['HARDWARE']['hostname']
|
ordi1.hostname = hardware.get("hostname", "")
|
||||||
ordi1.cpu = data['HARDWARE']['cpu']
|
ordi1.cpu = hardware.get("cpu", "")
|
||||||
ordi1.cpu_id = data['HARDWARE']['cpu_id']
|
ordi1.cpu_id = hardware.get("cpu_id", "")
|
||||||
ordi1.memory_mb = data['HARDWARE']['memory_mb']
|
ordi1.memory_mb = hardware.get("memory_mb", "")
|
||||||
ordi1.ram_size = data['HARDWARE']['ram_size']
|
ordi1.ram_size = hardware.get("ram_size", "")
|
||||||
ordi1.ram_gen = data['HARDWARE']['ram_gen']
|
ordi1.ram_gen = hardware.get("ram_gen", "")
|
||||||
ordi1.sizes = data['HARDWARE']['sizes']
|
ordi1.sizes = hardware.get("sizes", "")
|
||||||
ordi1.cpu_freq_min = data['HARDWARE']['cpu_freq_min']
|
ordi1.cpu_freq_min = hardware.get("cpu_freq_min", "")
|
||||||
ordi1.cpu_freq_cur = data['HARDWARE']['cpu_freq_cur']
|
ordi1.cpu_freq_cur = hardware.get("cpu_freq_cur", "")
|
||||||
ordi1.cpu_freq_max = data['HARDWARE']['cpu_freq_max']
|
ordi1.cpu_freq_max = hardware.get("cpu_freq_max", "")
|
||||||
ordi1.gpu_model = data['HARDWARE']['gpu_model']
|
ordi1.gpu_model = hardware.get("gpu_model", "")
|
||||||
ordi1.chassis_serial = data['HARDWARE']['chassis_serial']
|
ordi1.chassis_serial = hardware.get("chassis_serial", "")
|
||||||
ordi1.cpu_cores_nb = data['HARDWARE']['cpu_cores_nb']
|
ordi1.cpu_cores_nb = hardware.get("cpu_cores_nb", "")
|
||||||
ordi1.cpu_threads_nb = data['HARDWARE']['cpu_threads_nb']
|
ordi1.cpu_threads_nb = hardware.get("cpu_threads_nb", "")
|
||||||
ordi1.ram_number = data['HARDWARE']['ram_number']
|
ordi1.ram_number = hardware.get("ram_number", "")
|
||||||
ordi1.ram_slots_nb = data['HARDWARE']['ram_slots_nb']
|
ordi1.ram_slots_nb = hardware.get("ram_slots_nb", "")
|
||||||
ordi1.os = data['SOFTWARE']['os']
|
ordi1.mac_adresse = hardware.get("mac_adress", "")
|
||||||
ordi1.arch = data['SOFTWARE']['arch']
|
|
||||||
ordi1.desktop = data['SOFTWARE']['desktop']
|
ordi1.os = software.get("os", "")
|
||||||
ordi1.wm = data['SOFTWARE']['wm']
|
ordi1.arch = software.get("arch", "")
|
||||||
ordi1.kernel = data['SOFTWARE']['kernel']
|
ordi1.desktop = software.get("desktop", "")
|
||||||
ordi1.mac_adresse = data['SOFTWARE']['mac_adresse']
|
ordi1.wm = software.get("wm", "")
|
||||||
|
ordi1.kernel = software.get("kernel", "")
|
||||||
|
|
||||||
#Test
|
#Test
|
||||||
print(f"Le serial de la mb est {ordi1.mb_serial}")
|
print(f"Le serial de la mb est {ordi1.mb_serial}")
|
||||||
|
|||||||
@ -82,15 +82,16 @@ json_data=$(jq -n \
|
|||||||
cpu_cores_nb:$cpu_cores_nb,
|
cpu_cores_nb:$cpu_cores_nb,
|
||||||
cpu_threads_nb:$cpu_threads_nb,
|
cpu_threads_nb:$cpu_threads_nb,
|
||||||
ram_number:$ram_number,
|
ram_number:$ram_number,
|
||||||
ram_slots_nb:$ram_slots_nb
|
ram_slots_nb:$ram_slots_nb,
|
||||||
|
mac_adresse:$mac_adresse,
|
||||||
},
|
},
|
||||||
|
|
||||||
SOFTWARE: {
|
SOFTWARE: {
|
||||||
os:$os,
|
os:$os,
|
||||||
arch:$arch,
|
arch:$arch,
|
||||||
desktop:$desktop,
|
desktop:$desktop,
|
||||||
wm:$wm,
|
wm:$wm,
|
||||||
kernel:$kernel,
|
kernel:$kernel,
|
||||||
mac_adresse:$mac_adresse
|
|
||||||
}
|
}
|
||||||
}')
|
}')
|
||||||
|
|
||||||
@ -200,6 +201,7 @@ hardware() {
|
|||||||
echo "CPU_THREADS_NUMBER=$CPU_THREADS_NUMBER"
|
echo "CPU_THREADS_NUMBER=$CPU_THREADS_NUMBER"
|
||||||
echo "RAM_NUMBER=$RAM_NUMBER"
|
echo "RAM_NUMBER=$RAM_NUMBER"
|
||||||
echo "RAM_SLOTS_NUMBER=$RAM_SLOTS_NUMBER"
|
echo "RAM_SLOTS_NUMBER=$RAM_SLOTS_NUMBER"
|
||||||
|
echo "MAC_ADRESSE=$MAC_ADRESSE"
|
||||||
|
|
||||||
sizes=$(lsblk -dnb |grep -v loop |grep -v boot |tr -s " " |cut -d \ -f4)
|
sizes=$(lsblk -dnb |grep -v loop |grep -v boot |tr -s " " |cut -d \ -f4)
|
||||||
STOCKAGE_TOTAL=0
|
STOCKAGE_TOTAL=0
|
||||||
|
|||||||
98
models.py
Normal file
98
models.py
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
import configparser
|
||||||
|
import requests
|
||||||
|
from sqlmodel import Field, Session, SQLModel, create_engine, select
|
||||||
|
|
||||||
|
class ordinateur(SQLModel, table=True):
|
||||||
|
id: int | None = Field(default=None, primary_key=True)
|
||||||
|
hostname: str = Field(index=True)
|
||||||
|
cpu: str = Field(index=True)
|
||||||
|
cpu_freq_min: str = Field(index=True)
|
||||||
|
cpu_freq_cur: str = Field(index=True)
|
||||||
|
cpu_freq_max: str = Field(index=True)
|
||||||
|
cpu_id: str = Field(index=True)
|
||||||
|
mb_serial: str = Field(index=True)
|
||||||
|
ram_size: str = Field(index=True)
|
||||||
|
ram_gen: str = Field(index=True)
|
||||||
|
sizes: str = Field(index=True)
|
||||||
|
memory_mb: str = Field(index=True)
|
||||||
|
gpu_model: str = Field(index=True)
|
||||||
|
chassis_serial: str = Field(index=True)
|
||||||
|
cpu_cores_nb: str = Field(index=True)
|
||||||
|
cpu_threads_nb: str = Field(index=True)
|
||||||
|
ram_number: str = Field(index=True)
|
||||||
|
ram_slots_nb: str = Field(index=True)
|
||||||
|
stockage_total: str = Field(index=True)
|
||||||
|
mac_adresse: str = Field(index=True)
|
||||||
|
|
||||||
|
os: str = Field(index=True)
|
||||||
|
arch: str = Field(index=True)
|
||||||
|
desktop: str = Field(index=True)
|
||||||
|
wm: str = Field(index=True)
|
||||||
|
kernel: str = Field(index=True)
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
def reload(self):
|
||||||
|
r = requests.get("http://localhost:8000/summary.txt")
|
||||||
|
r.raise_for_status()
|
||||||
|
print(type(r.content.decode("utf-8")))
|
||||||
|
|
||||||
|
sum=configparser.ConfigParser()
|
||||||
|
sum.read_string(r.content.decode("utf-8"))
|
||||||
|
#sum.read("/opt/grabber/summary.txt")
|
||||||
|
|
||||||
|
if "CPU" in sum['HARDWARE']:
|
||||||
|
self.cpu = sum['HARDWARE']['CPU']
|
||||||
|
|
||||||
|
if "CPU_SERIAL" in sum['HARDWARE']:
|
||||||
|
self.cpu_serial = sum['HARDWARE']['CPU_SERIAL']
|
||||||
|
|
||||||
|
if "CPU_FREQ" in sum['HARDWARE']:
|
||||||
|
self.cpu_freq = sum['HARDWARE']['CPU_FREQ']
|
||||||
|
|
||||||
|
if "CPU_ID" in sum['HARDWARE']:
|
||||||
|
self.cpu_id = sum['HARDWARE']['CPU_ID']
|
||||||
|
|
||||||
|
if "RAM" in sum['HARDWARE']:
|
||||||
|
self.ram = sum['HARDWARE']['RAM']
|
||||||
|
|
||||||
|
if "RAM_GEN" in sum['HARDWARE']:
|
||||||
|
self.ram_gen = sum['HARDWARE']['RAM_GEN']
|
||||||
|
|
||||||
|
if "STOCKAGE_TOTAL" in sum['HARDWARE']:
|
||||||
|
self.stockage_total = sum['HARDWARE']['STOCKAGE_TOTAL']
|
||||||
|
|
||||||
|
if "OS" in sum['SOFTWARE']:
|
||||||
|
self.os = sum['SOFTWARE']['OS']
|
||||||
|
|
||||||
|
if "ARCH" in sum['SOFTWARE']:
|
||||||
|
self.arch = sum['SOFTWARE']['ARCH']
|
||||||
|
|
||||||
|
if "DESKTOP" in sum['SOFTWARE']:
|
||||||
|
self.desktop = sum['SOFTWARE']['DESKTOP']
|
||||||
|
|
||||||
|
if "WM" in sum['SOFTWARE']:
|
||||||
|
self.wm = sum['SOFTWARE']['WM']
|
||||||
|
|
||||||
|
if "KERNEL" in sum['SOFTWARE']:
|
||||||
|
self.kernel = sum['SOFTWARE']['KERNEL']
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.reload()
|
||||||
|
'''
|
||||||
|
|
||||||
|
def shutdown():
|
||||||
|
return
|
||||||
|
def status(self):
|
||||||
|
return
|
||||||
|
def link_to_user(self,user):
|
||||||
|
return
|
||||||
|
def remove_user_access(self):
|
||||||
|
return
|
||||||
|
def show_users(self):
|
||||||
|
return
|
||||||
|
|
||||||
|
#sum=configparser.ConfigParser()
|
||||||
|
#sum.read("/opt/grabber/summary.txt")
|
||||||
|
#sum.sections
|
||||||
Loading…
x
Reference in New Issue
Block a user