Complete restructure to modules.
Using modules and imports makes it much more modular and managable. There are no 600 row files now
This commit is contained in:
0
cont/models/__init__.py
Normal file
0
cont/models/__init__.py
Normal file
38
cont/models/ciscoModel.py
Normal file
38
cont/models/ciscoModel.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional, Annotated, Dict
|
||||
|
||||
|
||||
@dataclass
|
||||
class snmpPyCiscoData():
|
||||
"""Dataclass for snmp data"""
|
||||
hostname: str
|
||||
powerDrawPSU1: int
|
||||
voltagePSU1: int
|
||||
inletTemp: float
|
||||
exhaustTemp: float
|
||||
cpu1Temp: float
|
||||
uptimeS: int
|
||||
uptimeH: float
|
||||
|
||||
# optional fields
|
||||
uptimeD: float | None = None
|
||||
cpu2Temp: float | None = None
|
||||
powerDrawPSU2: int | None = None
|
||||
voltagePSU2: int | None = None
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return (
|
||||
f"{self.hostname}\n"
|
||||
f"PSU1 {self.powerDrawPSU1} Watts\n"
|
||||
f"PSU2 {self.powerDrawPSU2} Watts\n"
|
||||
f"PSU1 {self.voltagePSU1} Volts\n"
|
||||
f"PSU2 {self.voltagePSU2} Volts\n"
|
||||
f"Inlet {self.inletTemp} C\n"
|
||||
f"Exhaust {self.exhaustTemp} C\n"
|
||||
f"CPU1 {self.cpu1Temp} C\n"
|
||||
f"CPU2 {self.cpu2Temp} C\n"
|
||||
f"Uptime {self.uptimeS} Seconds\n"
|
||||
f"Uptime {self.uptimeH} Hours\n"
|
||||
f"Uptime {self.uptimeD} Days"
|
||||
)
|
||||
7
cont/models/fanModel.py
Normal file
7
cont/models/fanModel.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional, Annotated, Dict
|
||||
|
||||
|
||||
@dataclass
|
||||
class idracFanStatus:
|
||||
fans: Dict[str, int] | None = Dict[None, None] # name/index -> rpm
|
||||
43
cont/models/idracModel.py
Normal file
43
cont/models/idracModel.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional, Annotated, Dict
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@dataclass
|
||||
class snmpPyIDRACData():
|
||||
"""Dataclass for snmp data"""
|
||||
hostname: str
|
||||
powerDrawPSU1: int
|
||||
voltagePSU1: int
|
||||
inletTemp: float
|
||||
exhaustTemp: float
|
||||
cpu1Temp: float
|
||||
uptimeS: int
|
||||
uptimeH: float
|
||||
|
||||
# optional fields
|
||||
uptimeD: float | None = None
|
||||
cpu2Temp: float | None = None
|
||||
powerDrawPSU2: int | None = None
|
||||
powerDrawBoard: int | None = None
|
||||
voltagePSU2: int | None = None
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return (
|
||||
f"{self.hostname}\n"
|
||||
f"PSU1 {self.powerDrawPSU1} Watts\n"
|
||||
f"PSU2 {self.powerDrawPSU2} Watts\n"
|
||||
f"Board {self.powerDrawBoard} Watts\n"
|
||||
f"PSU1 {self.voltagePSU1} Volts\n"
|
||||
f"PSU2 {self.voltagePSU2} Volts\n"
|
||||
f"Inlet {self.inletTemp} C\n"
|
||||
f"Exhaust {self.exhaustTemp} C\n"
|
||||
f"CPU1 {self.cpu1Temp} C\n"
|
||||
f"CPU2 {self.cpu2Temp} C\n"
|
||||
f"Uptime {self.uptimeH} Hours\n"
|
||||
f"Uptime {self.uptimeD} Days"
|
||||
)
|
||||
28
cont/models/sqlTable.py
Normal file
28
cont/models/sqlTable.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from sqlalchemy import Table, Column, MetaData, Integer, String, TIMESTAMP, BigInteger, Numeric, text
|
||||
|
||||
|
||||
|
||||
metadata = MetaData()
|
||||
|
||||
idracMeasurement = Table(
|
||||
"IDRACmeasurement",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, autoincrement=True),
|
||||
Column("time_stamp", TIMESTAMP, server_default=text("CURRENT_TIMESTAMP"), nullable=False),
|
||||
Column("hostname", String(64), nullable=False),
|
||||
|
||||
Column("powerDrawPSU1", Numeric(7, 2)),
|
||||
Column("powerDrawPSU2", Numeric(7, 2)),
|
||||
Column("powerDrawBoard", Numeric(7, 2)),
|
||||
Column("voltagePSU1", Numeric(7, 2)),
|
||||
Column("voltagePSU2", Numeric(7, 2)),
|
||||
|
||||
Column("inletTemp", Numeric(5, 2)),
|
||||
Column("exhaustTemp", Numeric(5, 2)),
|
||||
Column("cpu1Temp", Numeric(5, 2)),
|
||||
Column("cpu2Temp", Numeric(5, 2)),
|
||||
|
||||
Column("uptimeS", BigInteger),
|
||||
Column("uptimeH", Numeric(8, 3)),
|
||||
Column("uptimeD", Numeric(8, 3)),
|
||||
)
|
||||
Reference in New Issue
Block a user