Minor fixes (#6)
Reviewed-on: #6
This commit was merged in pull request #6.
This commit is contained in:
+24
-12
@@ -86,6 +86,7 @@ class LedController:
|
||||
|
||||
async def _off(self):
|
||||
self.color = (0, 0, 0)
|
||||
self.previousStatus = self.status
|
||||
self.status = "off"
|
||||
self._write(self.color)
|
||||
|
||||
@@ -121,7 +122,7 @@ class LedController:
|
||||
self.status = self.previousStatus
|
||||
self._write(self.color)
|
||||
|
||||
async def send(self, cmd):
|
||||
async def sendCommand(self, cmd):
|
||||
self._cmd = cmd
|
||||
self._flag.set()
|
||||
|
||||
@@ -129,8 +130,7 @@ class LedController:
|
||||
async def set_color(self, color, brightness=None):
|
||||
if brightness is not None:
|
||||
self.brightness = brightness
|
||||
|
||||
await self.send({
|
||||
await self.sendCommand({
|
||||
"type": "solid",
|
||||
"color": color
|
||||
})
|
||||
@@ -142,16 +142,19 @@ class LedController:
|
||||
if color is None:
|
||||
raise ValueError("invalid status")
|
||||
|
||||
await self.send({
|
||||
await self.sendCommand({
|
||||
"type": "solid",
|
||||
"color": color,
|
||||
"status": status.lower()
|
||||
})
|
||||
|
||||
async def get_status(self):
|
||||
return self.status
|
||||
|
||||
async def blink(self, frequency, duration):
|
||||
self.previousStatus = self.status
|
||||
|
||||
await self.send({
|
||||
await self.sendCommand({
|
||||
"type": "blink",
|
||||
"color": self.color,
|
||||
"frequency": frequency,
|
||||
@@ -160,7 +163,7 @@ class LedController:
|
||||
})
|
||||
|
||||
async def stop(self):
|
||||
await self.send({"type": "off"})
|
||||
await self.sendCommand({"type": "off"})
|
||||
|
||||
def get_state(self):
|
||||
if self.blinking and self.blinkDuration > 0:
|
||||
@@ -226,7 +229,6 @@ async def setBrightness(request):
|
||||
await led.set_color(current_color, brightness)
|
||||
|
||||
led.status = current_status
|
||||
|
||||
return {'brightness': led.brightness}
|
||||
|
||||
|
||||
@@ -235,6 +237,7 @@ async def setColor(request):
|
||||
r = request.json.get("r")
|
||||
g = request.json.get("g")
|
||||
b = request.json.get("b")
|
||||
brightness = request.json.get("brightness")
|
||||
|
||||
if r is None or g is None or b is None:
|
||||
return {'error': 'missing color'}, 400
|
||||
@@ -245,11 +248,17 @@ async def setColor(request):
|
||||
if not (0 <= r <= 255 and 0 <= g <= 255 and 0 <= b <= 255):
|
||||
return {'error': 'color out of bound'}, 400
|
||||
|
||||
brightness = request.json.get("brightness")
|
||||
if brightness is not None:
|
||||
if not isinstance(brightness, (int, float)):
|
||||
return {'error': 'wrong brightness type'}, 400
|
||||
|
||||
if brightness < 0 or brightness > 1:
|
||||
return {'error': 'brightness out of bound'}, 400
|
||||
|
||||
await led.set_color((r, g, b), brightness)
|
||||
status = await led.get_status()
|
||||
|
||||
return {'status': led.status}
|
||||
return {'status': status}
|
||||
|
||||
|
||||
@app.get('/api/color')
|
||||
@@ -260,7 +269,8 @@ async def getColor(request):
|
||||
|
||||
@app.get('/api/status')
|
||||
async def getStatus(request):
|
||||
return {'status': led.status}
|
||||
status = await led.get_status()
|
||||
return {'status': status}
|
||||
|
||||
|
||||
@app.route('/api/status/<status>', methods=['GET', 'POST'])
|
||||
@@ -270,7 +280,8 @@ async def setStatus(request, status):
|
||||
except ValueError:
|
||||
return {'error': 'unknown status'}, 404
|
||||
|
||||
return {'status': led.status}
|
||||
status = await led.get_status()
|
||||
return {'status': status}
|
||||
|
||||
|
||||
@app.post('/api/blink')
|
||||
@@ -307,7 +318,8 @@ async def getBlink(request):
|
||||
async def blinkStop(request):
|
||||
await led.stop()
|
||||
await led.set_status(led.previousStatus)
|
||||
return {'status': led.status}
|
||||
status = await led.get_status()
|
||||
return {'status': status}
|
||||
|
||||
|
||||
@app.get('/api/debug')
|
||||
|
||||
Reference in New Issue
Block a user