added hdd status classes
This commit is contained in:
@@ -188,3 +188,14 @@ class PrjLampInformation(SMSMessage):
|
||||
LuminanceShutterControl: int | None
|
||||
LampOn: bool | None
|
||||
LampStatus: str | None
|
||||
|
||||
class HDDStatusWrapper(BaseModel):
|
||||
Name: str
|
||||
IsSpareSlot: bool
|
||||
Status: str
|
||||
|
||||
type HDDStatusElem = HDDStatusWrapper
|
||||
class RAIDStatusDetail(SMSMessage):
|
||||
RAIDStatus: str
|
||||
HDDStatus: HDDStatusElem
|
||||
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ from paho.mqtt import client as mqtt_client
|
||||
from paho.mqtt.enums import CallbackAPIVersion
|
||||
from pydantic import BaseModel, Field
|
||||
from requests import Timeout, ConnectionError
|
||||
from utils import SignalHandler
|
||||
from pyutils.utils import SignalHandler
|
||||
|
||||
T = TypeVar("T", bound=SMSMessage)
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
import signal
|
||||
from logging import Logger
|
||||
from influxdb_client_3 import Point
|
||||
|
||||
class SignalHandler:
|
||||
running: bool
|
||||
logger: Logger
|
||||
|
||||
def __init__(self, logger):
|
||||
self.running: bool = True
|
||||
self.logger: Logger = logger
|
||||
signal.signal(signal.SIGINT, self._handle_sigint)
|
||||
signal.signal(signal.SIGTERM, self._handle_sigint)
|
||||
|
||||
def _handle_sigint(self, signum, frame):
|
||||
self.logger.info(f"Received SIGNAL: {signal.strsignal(signum)}")
|
||||
self.running = False
|
||||
|
||||
def dict2Point(measurement: str, fields: dict, tags: dict | None = None) -> Point:
|
||||
p = Point(measurement)
|
||||
for k,v in fields.items():
|
||||
p.field(k,v)
|
||||
if tags:
|
||||
for k,v in tags.items():
|
||||
p.tag(k,v)
|
||||
return p
|
||||
|
||||
def convertInt(d: dict) -> dict:
|
||||
for k,v in d.items():
|
||||
if str.isdecimal(v):
|
||||
d[k] = int(v)
|
||||
return d
|
||||
|
||||
def convertIntList(l: list[dict]) -> list[dict]:
|
||||
for n,d in enumerate(l):
|
||||
l[n] = convertInt(d)
|
||||
return l
|
||||
Reference in New Issue
Block a user