def getStarted(): """ Called at server startup. Performs initial preparation Sends request for current track info and status Read settings from 'settings.ini' file into pconfig object """ log("getStarted", "Sending 'refresh' message to PoleyMote Spotify app; reading settings") net.fireCommand('refresh') config.readConfig()
def handleCMD(cmd, opt): global trackInfo, tid, bmInfo, qInfo if (cmd == 'spotify'): net.fireCommand(config.sp_app_name + opt) return 0 elif (cmd == "getsettings"): log("handleCMD", "'/cmd/getsettings' -> downloading settings from server") return json.dumps(config.readConfig()) elif (cmd == "updatesettings"): log("handleCMD", "'/cmd/updatesettings' -> settings are being updated") config.updateConfig(opt) return elif (cmd == "connectsonos"): log("handleCMD", "'/cmd/connectsonos -> reconnect to the Sonos") from pm_server_airfoil import connectSonos as cs cs() elif (cmd == "disconnectsonos"): log("handleCMD", "'/cmd/disconnectsonos -> disconnect from the Sonos") from pm_server_airfoil import disconnectSonos as ds ds() elif (cmd == "gettrackinfo"): while (int(opt) == tid): time.sleep(1) log("handleCMD", "'/cmd/gettrackinfo/" + opt + "' -> Sending 'Now Playing' info to PoleyMote client") log('gettrackinfo', 'sending artURL: ' + trackInfo['artURL']) return json.dumps(trackInfo) elif (cmd == "updatetrackinfo"): log("handleCMD", "'/cmd/updatetrackinfo' -> " + "trackUpdate(New 'Now Playing' info being received)") trackUpdate(opt) return 0 elif (cmd == "getthumbsdown"): log("handleCMD", "'/cmd/getThumbsDown' -> Sending list of 'thumbs down' tracks") return json.dumps(getThumbsDown()) elif (cmd == "thumbsdown"): log("handleCMD", "'/cmd/thumbsdown' -> " + "thumbs down called on local file") thumbsDown(opt) elif (cmd == "thumbsup"): log("handleCMD", "'/cmd/thumbsup' -> " + "thumbs up called on local file") thumbsUp(opt) elif (cmd == "archive"): log("handleCMD", "'/cmd/archive' -> " + "track archived") archive(opt) elif (cmd == "gettracksforartist"): log("handleCMD", "'/cmd/gettracksforartist' -> " + opt) return json.dumps(getTracksForArtist(opt)) elif (cmd == "gettracksforalbum"): log("handleCMD", "'/cmd/gettracksforalbum' -> " + opt) return json.dumps(getTracksForAlbum(opt)) elif (cmd == "gettracksforlocal"): log("handleCMD", "'/cmd/gettracksforlocal' -> " + opt) return json.dumps(getSpURIsForLocal(opt)) elif (cmd == "migrate"): log("handleCMD", "'/cmd/migrate'") tracks = opt['tracks'].split(',') return json.dumps(migrate(tracks))