You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

19 lines
822 B

__slots__ = ["num", "snr", "hops_away", "ts", "long_name", "short_name", "is_unmessagable"]
class NodeDTO:
def __init__(self, data, grabPosition = False, grabMetrics = False):
for slot in __slots__:
setattr(self, slot, data.get(slot, None))
self.havePosition = True if data.get("position", {}) else False
if grabPosition and data.get("position", {}):
setattr(self, "position", data.get("position"))
self.haveMetrics = True if data.get("device_metrics", {}) else False
if grabMetrics and data.get("device_metrics", {}):
setattr(self, "device_metrics", data.get("device_metrics"))
class NodeShortDTO:
def __init__(self, data):
for slot in ["num", "long_name", "short_name"]:
setattr(self, slot, data.get(slot, None))