From 23ccf197c48b7ffbead195f49198f64061768244 Mon Sep 17 00:00:00 2001 From: squick Date: Fri, 16 Jan 2026 14:58:56 +0100 Subject: [PATCH] wip --- __pycache__/app.cpython-313.pyc | Bin 0 -> 1594 bytes __pycache__/grabber.cpython-313.pyc | Bin 0 -> 1485 bytes app.py | 18 ++++++- grabber.py | 35 ++++++++++++++ grabber.sh | 6 +-- ordinateur.py | 71 ---------------------------- requirements.txt | 13 +++++ 7 files changed, 67 insertions(+), 76 deletions(-) create mode 100644 __pycache__/app.cpython-313.pyc create mode 100644 __pycache__/grabber.cpython-313.pyc create mode 100644 grabber.py delete mode 100644 ordinateur.py diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..35810f5bc9df3693878bad866cbee98f37c2df0e GIT binary patch literal 1594 zcmZ8h-A`Oa6rZ`@yL)#*J{GzVxJ6pMt#NHAF*a%gEXqf_ZT3Pmfk-ag3tU|Gu5&NM zt}nEZl<0#PQ;Wt#OiZeY5B>vv(SKk!kZ8slY3xhiXtocU_~4nlpLUWtbLO1i`IvKN zrW}oi5sY_7*PIBC&|hp*8?X;X`A1mpAOjhA8ckt>r#Qk*@r2iyjGGpS04qN&PDw=4 z&^#VM!&Orv&r3}^WnRv-S5-}mAq?Zn))42pi<}`P(3(*95eBQSCU})KHYtRXcFxMX zPR^$?slb=2c?BUQpxZFZUxD;_q(Mz)QKlIYz)(GxNvO{%RB;pE;nSjua(J#*Q#6Zf z*=wi|%?VXglwnbx83Rq|9M|w+2(#QUR{?8imNP^VHipFLoLX~|m1|rbAwPpqYKSJ^ zO2b1YR?|1u7#iXlCup(@HQBW`@HOuLc1GBUyn+Xjg3^1Zo2yXIsAh+djLZmvs?Pzf z3>Rj4_hR)}A9 z{Z*SRx+bx-3WCY0REb16_kBG?g+8qx z(9-^C;p4*o;9*PuuJAOB#Bed3*iRh^r;j^N?Vl@ko;g@6bzayR-%0-#PwZbR#m^pm zREiIQ;Mybbbmi;LZ~DIMD|WwF4C_b2Iq+Uo2fiD=clq1P#etz>_~MZ;e5`itS;a_C zQRsPc2C3TLPgSJ0LN=vHe;HwxN37?2{-<;)Hda)|PIxBz*EgfK+d0>Cm`^Oai7ljADASHu}E`ddTuxGOkvm6IfdCYTlVWp?dV4eH3Zky7G_5p7bp_g!L$um*E>S^A2HsBTNx= znzR8&#nttwcjKIAY)&V_Z|?a z5ypR_p%NPU9Yy{?JrAYmwzI`QR9Zd>ZHdQNxZQoTd-wbyj-PNHxc5LVBUs8j;<^IC c$xDb6Z+G47+U-8XZBICipJU4QfD7XP2O7ygX8-^I literal 0 HcmV?d00001 diff --git a/__pycache__/grabber.cpython-313.pyc b/__pycache__/grabber.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bc79b192354465bb4034767f06e15f06cee52872 GIT binary patch literal 1485 zcmb_c%Wl&^6dfl{>b%pmfiy)Ws#uUsvqEBlkU)r6MK*>V(rDsL64TgDXY4*$dBq=8 z;urciETdtA)Kzz=5n{`|cAPeC#i}EnljA$rbMB1iW>zZY2@L(k7yEmPkTZNphCUaw z#~@CKNla~*i1=3%T7zs8Gu0$!`U$*=L!^dUTR%tHwUCpc&Bg2p#0mLKgl0mvsfo0i z5;`CQ$O2XX1|SE>0}6m5padubDu60r6;K1Lndv4G>!uD|H#5NZ%q;MIa|O6z8o(Q7 zPBe%4c0sMY5v- zVuJTOpFV!*4C6JE-<`>^Dh;@Aji?M9hlyiVpWE&%g&XLFg@j~klxHBwjYC_iM;MSI zato@WDgr4(jsm~$9lENTSS67rCRLCy{r?-jVt}_I-g4}al|J(WsmhD>qvr?9tIzKN z1aCRc%hlWPT_Hp1f#gEsORZLHQykmw9`!wnGip6CyBghs^gGy4O>oCM;E@q!mc^x1 z&BX8KTWl-uehf}KZlsaBN7^5yyx*xFde5OL_ zz!uVnqvEay(>bR{;Sg;$Ryk`D;Cp^9|_L-Qmx{{K=A#5yVfyv zZ1;M|3dHr0!;X|8m_w!gm8)E&#-1-#9;F*N&~hr}Nu@JkjZ~q}<(}_ND0dH3`OtRZ z=2C~bYzS%DJuX~679~828d4o;11Y*~4?(FqrFbE2i!$FAb}#U`q%`i0MOz4LXq><{?yOKQ>YyOek2~n X@3f|AXJqXssr=Qqw8{kmicJ0ix3p~4 literal 0 HcmV?d00001 diff --git a/app.py b/app.py index 5586b59..8bc9b3d 100644 --- a/app.py +++ b/app.py @@ -1,8 +1,11 @@ from fastapi import FastAPI, Request, HTTPException import json +from grabber import Grabber app = FastAPI() +ordi1 = Grabber() + @app.post("/endpoint") async def receive_info(request: Request): # Lire le body brut @@ -16,5 +19,16 @@ async def receive_info(request: Request): raise HTTPException(status_code=400, detail="Invalid JSON") # Debug - print("Infos recues :", data) - return {"status": "ok"} \ No newline at end of file + print("Data grabbed :", data) + + ordi1.hostname = data['HARDWARE']['hostname'] + ordi1.mb_serial = data['HARDWARE']['mb_serial'] + + print(f"Hostname is {ordi1.hostname}") + print(f"Motherboard serial is {ordi1.mb_serial}") + + return {"status": "ok"} + +@app.get("/ordi1") +async def get_ordi1_info(): + return ordi1 \ No newline at end of file diff --git a/grabber.py b/grabber.py new file mode 100644 index 0000000..41fa646 --- /dev/null +++ b/grabber.py @@ -0,0 +1,35 @@ +#!/usr/bin/python3 +import configparser +import requests + +class Grabber(): + mb_serial = " " + cpu_model = " " + cpu_id = " " + cpu_cores = " " + cpu_threads = " " + cpu_frequency_min = " " + cpu_frequency_cur = " " + cpu_frequency_max = " " + ram_size = " " + ram_slots = " " + ram_number = " " + + os = " " + arch = " " + desktop_env = " " + window_manager = " " + kernel = " " + + def fetch_summary(self): + return + 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 diff --git a/grabber.sh b/grabber.sh index 13390ed..7bcc858 100755 --- a/grabber.sh +++ b/grabber.sh @@ -152,14 +152,14 @@ CPU_ID=$(dmidecode -t processor | grep ID | cut -d: -f2 | sed 's/^ *//' | xargs) CPU_FREQUENCY_MIN=$(lscpu | grep MHz | cut -d: -f2 | sed -n '3p' | tr -s " " | sed 's/\ //' | cut -d, -f1) CPU_FREQUENCY_CUR=$(dmidecode | grep "MHz" | cut -d: -f2 | sed -n '3p' | sed 's/\ //') CPU_FREQUENCY_MAX=$(dmidecode | grep "MHz" | cut -d: -f2 | sed -n '2p' | sed 's/\ //') -CPU_CORES_NUMBER=$(inxi | grep core | cut -d' ' -f2 | sed 's/-core//') -CPU_THREADS_NUMBER=$(nproc) +CPU_CORES=$(inxi | grep core | cut -d' ' -f2 | sed 's/-core//') +CPU_THREADS=$(nproc) #--------------------------------- #------------ RAM ---------------- RAM_SIZE=$(lsmem | grep "Total online memory" | cut -d: -f2 | sed 's/\ *//') RAM_NUMBER=$(dmidecode --type memory | grep 'Rank' | wc -l) -RAM_SLOTS_NUMBER=$(dmidecode --type memory | grep "Number Of Devices" | cut -d: -f2 | sed 's/\ //') +RAM_SLOTS=$(dmidecode --type memory | grep "Number Of Devices" | cut -d: -f2 | sed 's/\ //') #--------------------------------- #------------ COMPONENTS --------- diff --git a/ordinateur.py b/ordinateur.py deleted file mode 100644 index 644ddf0..0000000 --- a/ordinateur.py +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/python3 -import configparser -import requests -class ordinateur(): - mb_serial = " " - cpu_model = " " - cpu_id = " " - cpu_cores_number = " " - cpu_threads_number = " " - cpu_frequency_min = " " - cpu_frequency_cur = " " - cpu_frequency_max = " " - gpu_model = " " - ram_size = " " - ram_slots_number = " " - ram_number = " " - ram_gen = " " - - os = " " - arch = " " - desktop = " " - wm = " " - kernel = " " - def __init__(self): - self.reload() - 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 "MB_SERIAL" in sum['HARDWARE']: - self.mb_serial=sum['HARDWARE']['MB_SERIAL'] - if "CHASSIS_SERIAL" in sum['HARDWARE']: - self.chassis_serial=sum['HARDWARE']['CHASSIS_SERIAL'] - if "CPU" in sum['HARDWARE']: - self.cpu=sum['HARDWARE']['CPU'] - if "CPU_ID" in sum['HARDWARE']: - self.cpu_id=sum['HARDWARE']['CPU_ID'] - if "CPU_CORES_NUMBER" in sum['HARDWARE']: - self.cpu_cores_number=sum['HARDWARE']['CPU_CORES_NUMBER'] - if "CPU_THREADS_NUMBER" in sum['HARDWARE']: - self.cpu_threads_number=sum['HARDWARE']['CPU_THREADS_NUMBER'] - if "CPU_FREQUENCY_MIN" in sum['HARDWARE']: - self.cpu_frequency_min=sum['HARDWARE']['CPU_FREQUENCY_MIN'] - if "CPU_FREQUENCY_CUR" in sum['HARDWARE']: - self.cpu_frequency_cur=sum['HARDWARE']['CPU_FREQUENCY_CUR'] - if "CPU_FREQUENCY_MAX" in sum['HARDWARE']: - self.cpu_frequency_max=sum['HARDWARE']['CPU_FREQUENCY_MAX'] - if "GPU_MODEL" in sum['HARDWARE']: - self.gpu_model=sum['HARDWARE']['GPU_MODEL'] - if "RAM_SLOTS_NUMBER" in sum['HARDWARE']: - self.ram_slots_number=sum['HARDWARE']['RAM_SLOTS_NUMBER'] - if "RAM_NUMBER" in sum['HARDWARE']: - self.ram_number=sum['HARDWARE']['RAM_NUMBER'] - if "RAM_GEN" in sum['HARDWARE']: - self.ram_gen=sum['HARDWARE']['RAM_GEN'] - return - def fetch_summary(self): - return - 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 diff --git a/requirements.txt b/requirements.txt index eaf09c9..c8dd2d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,16 @@ pydantic_core==2.41.5 starlette==0.50.0 typing-inspection==0.4.2 typing_extensions==4.15.0 +annotated-doc==0.0.4 +annotated-types==0.7.0 +anyio==4.12.1 +click==8.3.1 +fastapi==0.128.0 +h11==0.16.0 +idna==3.11 +pydantic==2.12.5 +pydantic_core==2.41.5 +starlette==0.50.0 +typing-inspection==0.4.2 +typing_extensions==4.15.0 +uvicorn==0.40.0