mirror of
https://github.com/aljazceru/python-teos.git
synced 2025-12-17 22:24:23 +01:00
plugin - adds tower state to TowerInfo
The state flags whether the tower is reachable or not so the user can be aware of it
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
class TowerInfo:
|
||||
def __init__(self, netaddr, available_slots, appointments=None):
|
||||
def __init__(self, netaddr, available_slots, status="active", appointments=None):
|
||||
self.netaddr = netaddr
|
||||
self.available_slots = available_slots
|
||||
self.status = status
|
||||
|
||||
if not appointments:
|
||||
self.appointments = {}
|
||||
@@ -12,15 +13,16 @@ class TowerInfo:
|
||||
def from_dict(cls, tower_data):
|
||||
netaddr = tower_data.get("netaddr")
|
||||
available_slots = tower_data.get("available_slots")
|
||||
status = tower_data.get("status")
|
||||
appointments = tower_data.get("appointments")
|
||||
|
||||
if any(v is None for v in [netaddr, available_slots, appointments]):
|
||||
if any(v is None for v in [netaddr, available_slots, status, appointments]):
|
||||
raise ValueError("Wrong appointment data, some fields are missing")
|
||||
|
||||
return cls(netaddr, available_slots, appointments)
|
||||
return cls(netaddr, available_slots, status, appointments)
|
||||
|
||||
def to_dict(self):
|
||||
return self.__dict__
|
||||
|
||||
def get_summary(self):
|
||||
return {"netaddr": self.netaddr, "available_slots": self.available_slots}
|
||||
return {"netaddr": self.netaddr, "status": self.status, "available_slots": self.available_slots}
|
||||
|
||||
Reference in New Issue
Block a user