예제 #1
0
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()
예제 #2
0
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))