grabber/models.py
2026-02-05 16:48:38 +01:00

99 lines
2.8 KiB
Python

#!/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