Example #1
0
def getSpURIsForLocal(local_uri):
    track = local.parseSPurl(local_uri)
    name = track[2].lower()
    artist = track[0].lower()
    r = requests.get(artist_search_uri + artist)
    while (r.text == ''):
        time.sleep(0.1)
    x = json.loads(r.text)
    found_in_album = []
    for a in x['artists']:
        # try:
        if artist == a['name'].lower():
            uri = a['href']
            artist_info = getTracksForArtist(uri)
            albums = artist_info['albums']
            for a in albums:
                found = 0
                for t in a['tracks']:
                    if (found == 0):
                        if (name == t['name'].lower()):
                            found_in_album.append(a['href'])
                            found = 1
            artist_info['found_in_album'] = found_in_album
            artist_info['source_name'] = name
            artist_info['source_uri'] = local_uri
            return artist_info
    #     except:
    #         pass
    return {}
Example #2
0
def getSpTrackForLocal(local_uri):
    track = local.parseSPurl(local_uri)
    name = track[2]
    artist = track[0]
    r = requests.get(artist_search_uri + artist)
    while (r.text == ''):
        time.sleep(0.1)
    x = json.loads(r.text)
    spTrack = {}
    spTrack['source_uri'] = local_uri
    spTrack['artist'] = artist
    spTrack['name'] = name

    for a in x['artists']:
        if artist.lower() == a['name'].lower():
            uri = a['href']
            tracks = getTracksForArtist(uri)
            albums = tracks['albums']
            for a in albums:
                found = 0
                for t in a['tracks']:
                    if (found == 0):
                        if (name.lower() == t['name'].lower()):
                            spTrack['sp_uri'] = t['href']
                            found = 1
            return spTrack
    return {}
Example #3
0
def migrate(track_uris):
    if type(track_uris) is not list:
        track_uris = [track_uris]
    tracks = []
    for t in track_uris:
        if (t.find('spotify:local:') != -1):
            try:
                print t
                track_info = local.parseSPurl(t)
                track = {
                    'artist': track_info[0],
                    'title':  track_info[2],
                    'local_uri': t
                }
                r = requests.get(track_search_uri + urllib.quote(track['artist']) + ' ' + urllib.quote(track['title']))
                wait = 0.0
                timeout = 0
                while (r.text == '' and wait < 3.0):
                    time.sleep(0.1)
                    wait += 0.1
                    if wait == 3.0:
                        timeout = 1
                if timeout == 0:
                    x = json.loads(r.text)
                    found = 0
                    for tr in x['tracks']:
                        if found == 0:
                            name = tr['name'].lower()
                            artist = tr['artists'][0]['name'].lower()
                            if (name == track['title'].lower() and artist == track['artist'].lower()):
                                track['spotify_uri'] = tr['href']
                                found = 1
                                print 'FOUND: ',track['title'],'by',track['artist']
                    if found == 0:
                        print 'Did not find: ',track['title'],'by',track['artist']
                    tracks.append(track)
                else:
                    print 'Timed out: ',track['title'],'by',track['artist']
            except ValueError:
                print 'Error: ',t
    print 'Finished - RETURNING'
    return tracks