diff --git a/src/settings.py b/src/settings.py index ea51d03..410ed97 100644 --- a/src/settings.py +++ b/src/settings.py @@ -45,31 +45,40 @@ class Settings(dict): self.set_defaults() self.save() - def set_settings(self, data, patterns, save): + async def set_settings(self, data, patterns, save): try: - print(data) + print(f"Setting settings: {data}") for key, value in data.items(): print(key, value) if key == "colors": buff = [] for color in value: buff.append(tuple(int(color[i:i+2], 16) for i in self.color_order)) - patterns.set_colors(buff) - elif key == "color1": - patterns.set_color1(tuple(int(value[i:i+2], 16) for i in self.color_order)) # Convert hex to RGB - elif key == "color2": - patterns.set_color2(tuple(int(value[i:i+2], 16) for i in self.color_order)) # Convert hex to RGB + patterns.colors = buff elif key == "num_leds": patterns.update_num_leds(self["led_pin"], value) elif key == "pattern": if not patterns.select(value): return "Pattern doesn't exist", 400 + await patterns.run() elif key == "delay": delay = int(data["delay"]) - patterns.set_delay(delay) + patterns.delay = delay elif key == "brightness": brightness = int(data["brightness"]) - patterns.set_brightness(brightness) + patterns.brightness = brightness + elif key == "n1": + patterns.n1 = value + elif key == "n2": + patterns.n2 = value + elif key == "n3": + patterns.n3 = value + elif key == "n4": + patterns.n4 = value + elif key == "n5": + patterns.n5 = value + elif key == "n6": + patterns.n6 = value elif key == "name": self[key] = value self.save() @@ -86,9 +95,9 @@ class Settings(dict): return "Invalid key", 400 self[key] = value #print(self) - patterns.sync() if save: self.save() + print(self) return "OK", 200 except (KeyError, ValueError): return "Bad request", 400