Ejemplo n.º 1
0
def topTracks(token, id):
    queryParams = rootParams.copy()
    queryParams["endpoint"] = "/artists/" + id + "/top-tracks"
    queryParams["token"] = token
    queryParams["params"]["country"] = "DE"
    query = buildQuery(queryParams)
    res = requests.get(url=query["url"], headers=query["header"])
    return json.loads(res.text)
Ejemplo n.º 2
0
def querySaved(token, trackIds):
    queryParams = rootParams.copy()
    queryParams["endpoint"] = "/me/tracks/contains"
    queryParams["token"] = token
    queryParams["params"]["ids"] = ','.join(trackIds)
    query = buildQuery(queryParams)
    res = requests.get(url=query["url"], headers=query["header"])
    return json.loads(res.text)
Ejemplo n.º 3
0
def getFavs(token, type, tr, limit):
    queryParams = rootParams.copy()
    queryParams["endpoint"] = ("/me/top/" + type)
    queryParams["token"] = token
    queryParams["params"]["time_range"] = tr
    queryParams["params"]["limit"] = limit
    query = buildQuery(queryParams)
    res = requests.get(url=query["url"], headers=query["header"])
    return json.loads(res.text)
Ejemplo n.º 4
0
def replaceTracks(token, trackUris):
    queryParams = rootParams.copy()
    queryParams["endpoint"] = ("/users/" + userID + "/playlists/" +
                               playlistID + "/tracks")
    queryParams["token"] = token
    queryParams["payload"]["uris"] = trackUris
    query = buildQuery(queryParams)
    requests.put(url=query["url"],
                 headers=query["header"],
                 data=json.dumps(query["payload"]))
Ejemplo n.º 5
0
def by(token, type, searchList, numReq):
    queryParams = rootParams.copy()
    res = []
    for i in xrange(numReq):
        queryParams["params"]["q"] = getSearchQuery(searchList)
        queryParams["params"]["type"] = type
        queryParams["endpoint"] = "/search"
        queryParams["token"] = token
        query = buildQuery(queryParams)
        response = requests.get(url=query["url"], headers=query["header"])
        responseJson = json.loads(response.text)
        if str(type + "s") in responseJson:
            try:
                res.append(random.choice(responseJson["artists"]["items"]))
            except:
                continue
    return res
Ejemplo n.º 6
0
def getRelated(token, topTracks, numReq, numTrPerReq):
    queryParams = rootParams.copy()
    queryParams["token"] = token
    queryParams["endpoint"] = "/recommendations"
    relatedTracks = []
    for i in xrange(numReq):
        queryParams["params"]["seed_tracks"] = getRandTracks(topTracks)
        query = buildQuery(queryParams)
        res = requests.get(url=query["url"], headers=query["header"])
        resJson = json.loads(res.text)
        for i, track in enumerate(resJson["tracks"]):
            if i < numTrPerReq and not track["uri"] in relatedTracks:
                try:
                    relatedTracks.append(track["uri"])
                except:
                    continue
    return relatedTracks