def addSpotifyItem(): try: # Get arguments content = flask_request.get_json(silent=True) app.config.addSpotifyItem(content['Type'], content['Name'], content['URI'], content['Image']) app.webserver.sio.emit( 'spotifyItems', prettyJson(app.config.params['spotifyItems'])) return prettyJson({'status': 'Adding Spotify Item!'}) except Exception as e: print(e) return 'Invalid args to add spotify item'
def getFlapStatus(): try: return prettyJson( app.clock.smbus430.getFlapStatus(flask_request.args['type'])) except Exception as e: print(e) return 'Invalid parameters. Please specify type=hh, mm or ww'
def setAlarm(): content = flask_request.get_json(silent=True) if (content != None): if (len(content)==2): app.config.updateClockAlarm(content[0], content[1]) app.alarm.loadAlarms() print('[alarm] Updating alarm >> ' + content[1]['Name'] + ' <<') return prettyJson({'status' : 'Updating alarm!'})
def spotifyUpdateRaspotify(): content = flask_request.get_json(silent=True) username = content['username'] password = content['password'] return prettyJson({ 'status': app.spotifyPlayer.updateRaspotifyCredentials(username, password) })
def deleteRadioItem(): try: # Get arguments idx = flask_request.args.get('idx') app.config.deleteRadioItem(int(idx)) return prettyJson({'status': 'RadioItem Deleted!'}) except Exception as e: print(e) return 'Invalid idx to delete alarm'
def setFlapParameter(): try: return prettyJson( app.clock.smbus430.setFlapParameter( flask_request.args['type'], flask_request.args['parameter'], int(flask_request.args['value']))) except Exception as e: print(e) return 'Invalid parameters. Please specify type=hh, mm or ww'
def setLocation(): try: # Get arguments for parameter in flask_request.args: value = flask_request.args.get(parameter) # Update parameter app.config.updateLocationParam(parameter, value) return prettyJson(app.config.params['location']) except Exception as e: print(e) return 'Invalid parameters'
def setRadioTune(): try: # Get arguments freq = float(flask_request.args.get('freq')) app.spotifyPlayer.pause() app.radioTuner.tune(freq) app.radioTuner.play() return prettyJson({'status': 'Tuning ' + str(freq) + '!'}) except Exception as e: print(e) return 'Invalid freq to tune'
def setClockMode(): try: # Get arguments for parameter in flask_request.args: value = flask_request.args.get(parameter) # Update mode parameter if (parameter == 'mode'): app.clock.mode = value return prettyJson(app.clock.mode) except Exception as e: print(e) return 'Invalid parameters'
def getSpotifyStatus(): return prettyJson(app.spotifyPlayer.getStatus())
def getWeather(): return prettyJson(app.weatherStation.weatherReport)
def getApis(): return prettyJson(app.config.params['api'])
def getLocation(): return prettyJson(app.config.params['location'])
def getSpotifyAuth(): return prettyJson(app.spotifyPlayer.getAuth())
def reloadWeather(): app.weatherStation.reloadWeather() app.webserver.sio.emit('weatherReport', app.weatherStation.weatherReport) return prettyJson({'status': 'Success'})
def printConfig(self): print('SplitFlapClockRadio configuration:') print(prettyJson(self.params))
def addRadioItem(): content = flask_request.get_json(silent=True) if (content != None): if (len(content) == 2): app.config.addRadioItem(content[0], content[1]) return prettyJson({'status': 'Adding Radio Item!'})
def getAlarms(): return prettyJson(app.config.params['clock']['alarms'])
def getClockMode(): return prettyJson(app.clock.mode)
def setTimezone(): content = flask_request.get_json(silent=True) if (content != None): app.config.updateClockParam('timeZone', content['nameValue']) return prettyJson({'status': 'Timezone modified!'})
def getMeasurements(): content = flask_request.get_json(silent=True) measurements = app.dbCtl.loadMeasurements(content['startDate'], content['stopDate']).all() return prettyJson(measurements)
def emitFmRadioReport(self): self.app.webserver.sio.emit('fmRadioReport', prettyJson(self.radioTuner.get_info_obj()))
def getSpotifyItems(): return prettyJson(app.config.params['spotifyItems'])
def getRadioStatus(): return prettyJson(app.radioTuner.lastReport)
def getRadioItems(): return prettyJson(app.config.params['radioItems'])
def spotifyPlay(): uri = flask_request.args.get('uri') app.radioTuner.pause() ans = app.spotifyPlayer.play(uri) return prettyJson(ans)
def getTime(): return prettyJson(getDateTime(app.config.params['clock']['timeZone']))
def spotifyCheckDevice(): app.spotifyPlayer.check_local_device() return prettyJson({'Visible': app.spotifyPlayer.check_local_device()})
def emitStatus(self): try: self.app.webserver.sio.emit('spotifyReport', prettyJson(self.getStatus())) except: pass
def spotifySearch(): content = flask_request.get_json(silent=True) ans = app.spotifyPlayer.searchSpotify(content['type'], content['terms']) return prettyJson(ans)