Add n values; remove color1, color2

This commit is contained in:
2025-11-20 18:22:29 +13:00
parent fb51d65077
commit a17380c250

View File

@@ -45,31 +45,40 @@ class Settings(dict):
self.set_defaults() self.set_defaults()
self.save() self.save()
def set_settings(self, data, patterns, save): async def set_settings(self, data, patterns, save):
try: try:
print(data) print(f"Setting settings: {data}")
for key, value in data.items(): for key, value in data.items():
print(key, value) print(key, value)
if key == "colors": if key == "colors":
buff = [] buff = []
for color in value: for color in value:
buff.append(tuple(int(color[i:i+2], 16) for i in self.color_order)) buff.append(tuple(int(color[i:i+2], 16) for i in self.color_order))
patterns.set_colors(buff) patterns.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
elif key == "num_leds": elif key == "num_leds":
patterns.update_num_leds(self["led_pin"], value) patterns.update_num_leds(self["led_pin"], value)
elif key == "pattern": elif key == "pattern":
if not patterns.select(value): if not patterns.select(value):
return "Pattern doesn't exist", 400 return "Pattern doesn't exist", 400
await patterns.run()
elif key == "delay": elif key == "delay":
delay = int(data["delay"]) delay = int(data["delay"])
patterns.set_delay(delay) patterns.delay = delay
elif key == "brightness": elif key == "brightness":
brightness = int(data["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": elif key == "name":
self[key] = value self[key] = value
self.save() self.save()
@@ -86,9 +95,9 @@ class Settings(dict):
return "Invalid key", 400 return "Invalid key", 400
self[key] = value self[key] = value
#print(self) #print(self)
patterns.sync()
if save: if save:
self.save() self.save()
print(self)
return "OK", 200 return "OK", 200
except (KeyError, ValueError): except (KeyError, ValueError):
return "Bad request", 400 return "Bad request", 400