66 lines
2.1 KiB
Python
66 lines
2.1 KiB
Python
from pattern import PatternMeta
|
|
|
|
|
|
class MemoryUsage:
|
|
def __init__(self, used, free, total):
|
|
self.used = used
|
|
self.free = free
|
|
self.total = total
|
|
|
|
def to_json(self):
|
|
return {
|
|
"used": self.used, "free": self.free, "total": self.total
|
|
}
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(json["used"], json["free"], json["total"])
|
|
|
|
|
|
class Status:
|
|
def __init__(
|
|
self, ap, name, group, firmware, power, mac,
|
|
selectedPattern, brightness, length, start, end,
|
|
fade, isReversed, cycle, uptime, memory, patterns
|
|
):
|
|
self.ap = ap
|
|
self.name = name
|
|
self.group = group
|
|
self.firmware = firmware
|
|
self.power = power
|
|
self.mac = mac
|
|
self.selectedPattern = selectedPattern
|
|
self.brightness = brightness
|
|
self.length = length
|
|
self.start = start
|
|
self.end = end
|
|
self.fade = fade
|
|
self.isReversed = isReversed
|
|
self.cycle = cycle
|
|
self.uptime = uptime
|
|
self.memory = memory
|
|
self.patterns = patterns
|
|
|
|
def to_json(self):
|
|
return {
|
|
"ap": self.ap, "name": self.name, "group": self.group,
|
|
"firmware": self.firmware, "power": 1 if self.power else 0,
|
|
"mac": self.mac, "selectedPattern": self.selectedPattern,
|
|
"brightness": self.brightness, "length": self.length,
|
|
"start": self.start, "end": self.end, "fade": self.fade,
|
|
"reversed": 1 if self.isReversed else 0, "cycle": self.cycle,
|
|
"uptime": self.uptime, "memory": self.memory.to_json(),
|
|
"patterns": [p.to_json() for p in self.patterns]
|
|
}
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
json["ap"], json["name"], json["group"], json["firmware"],
|
|
json["power"] == 1, json["mac"], json["selectedPattern"],
|
|
json["brightness"], json["length"], json["start"], json["end"],
|
|
json["fade"], json["reversed"] == 1, json["cycle"],
|
|
json["uptime"], MemoryUsage.from_json(json["memory"]),
|
|
[PatternMeta.from_json(p) for p in json["patterns"]]
|
|
)
|