Beispiel #1
0
def createNewPlaylist(artist_name):
    cur = db.cursor()
    sql_create_playlists = '''CREATE TABLE IF NOT EXISTS playlist (id INTEGER PRIMARY KEY AUTO_INCREMENT,rootArtist VARCHAR(128));'''
    sql_create_songs = '''CREATE TABLE IF NOT EXISTS songs (playlistId INTEGER, songOrder INTEGER,artistName VARCHAR(128), albumName VARCHAR(256), trackName VARCHAR(256));'''
    cur.execute(sql_create_playlists)
    cur.execute(sql_create_songs)

    sql_insert_artist_name = '''INSERT INTO playlist (rootArtist) VALUES ('%s');''' % (
        artist_name)
    cur.execute(sql_insert_artist_name)
    playlistId = cur.lastrowid

    root_artist_id = fetchArtistId(artist_name)
    edgelist = getEdgeList(root_artist_id, 2)
    g = pandasToNetworkX(edgelist)
    songs = []
    for i in range(30):
        artist_id = (randomCentralNode(g))
        songOrder = i + 1
        artist_name = fetchArtistInfo(artist_id)['name']
        album_ids = fetchAlbumIds(artist_id)
        random_album = np.random.choice(album_ids)
        random_album_name = fetchAlbumInfo(random_album)['name']
        random_track_name = fetchARandomTrack(random_album)[1]
        songs.append((playlistId, songOrder, artist_name, random_album_name,
                      random_track_name))

    insertSongs = '''INSERT INTO songs 
                     (playlistId, songOrder, artistName, albumName, trackName)
                     VALUES
                     (%s, %s, %s, %s, %s)'''
    cur.executemany(insertSongs, songs)
    db.commit()

    print "playlists updated"
def testWriteArtistsInfo():
    artistId1 = fetchArtistId('earth wind fire')
    artistId2 = fetchArtistId('patsy cline')
    artistId3 = fetchArtistId('五月天')

    assert artistId1=='4QQgXkCYTt3BlENzhyNETg'
    assert artistId2=='7dNsHhGeGU5MV01r06O8gK'
    assert artistId3=='16s0YTFcyjP4kgFwt7ktrY'

    albumIds1 = fetchAlbumIds(artistId1)
    albumIds2 = fetchAlbumIds(artistId2)
    albumIds3 = fetchAlbumIds(artistId3)

    print "albumIds1=",len(albumIds1)
    print "albumIds2=",len(albumIds2)
    print "albumIds3=",len(albumIds3)

    assert len(albumIds1) == 20
    assert len(albumIds2) == 20
    assert len(albumIds3) == 17

    artistInfo1 = fetchArtistInfo(artistId1)
    artistInfo2 = fetchArtistInfo(artistId2)
    artistInfo3 = fetchArtistInfo(artistId3)

    albumInfoList = []
    for albumId in albumIds1:
        albumInfoList.append(fetchAlbumInfo(albumId))
    for albumId in albumIds2:
        albumInfoList.append(fetchAlbumInfo(albumId))
    for albumId in albumIds3:
        albumInfoList.append(fetchAlbumInfo(albumId))

    writeArtistsTable([artistInfo1, artistInfo2, artistInfo3])
    writeAlbumsTable(albumInfoList)

    bcd =getBarChartData()

    # asset that there were 11 albums in the 80s and 21 in the 00s
    assert(bcd[1][8] == 11)
    assert(bcd[1][10] == 21)
Beispiel #3
0
def testWriteArtistsInfo():
    artistId1 = fetchArtistId('earth wind fire')
    artistId2 = fetchArtistId('patsy cline')
    artistId3 = fetchArtistId('五月天')
   
    assert artistId1=='4QQgXkCYTt3BlENzhyNETg'
    assert artistId2=='7dNsHhGeGU5MV01r06O8gK'
    assert artistId3=='16s0YTFcyjP4kgFwt7ktrY'
 
    albumIds1 = fetchAlbumIds(artistId1)
    albumIds2 = fetchAlbumIds(artistId2)
    albumIds3 = fetchAlbumIds(artistId3)

    print "albumIds1=",len(albumIds1)
    print "albumIds2=",len(albumIds2)
    print "albumIds3=",len(albumIds3)

    assert len(albumIds1) == 20
    assert len(albumIds2) == 20
    assert len(albumIds3) == 17

    artistInfo1 = fetchArtistInfo(artistId1)
    artistInfo2 = fetchArtistInfo(artistId2)
    artistInfo3 = fetchArtistInfo(artistId3)
    
    albumInfoList = []
    for albumId in albumIds1:
        albumInfoList.append(fetchAlbumInfo(albumId))
    for albumId in albumIds2:
        albumInfoList.append(fetchAlbumInfo(albumId))
    for albumId in albumIds3:
        albumInfoList.append(fetchAlbumInfo(albumId))
    
    writeArtistsTable([artistInfo1, artistInfo2, artistInfo3])
    writeAlbumsTable(albumInfoList)

    bcd =getBarChartData()

    # asset that there were 11 albums in the 80s and 21 in the 00s
    assert(bcd[1][8] == 11)
    assert(bcd[1][10] == 21)
Beispiel #4
0
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    artist_id_list = []
    artist_info_list = []
    for name in artist_names:
        artistId = fetchArtistId(name)  #get artistID
        artist_id_list.append(artistId)  #append it to the list
        artistInfo = fetchArtistInfo(artistId)  #get artistInfo dictionary
        artist_info_list.append(artistInfo)  #append it to the artist_info_list

    #album_ids_list = []
    album_info_list = []
    for artistId in artist_id_list:
        albumIds = fetchAlbumIds(artistId)  #get list of albumIds
        #album_ids_list.append(albumIds) #append list to album_ids_list
        for albumId in albumIds:  #for each album in one artist's list of album IDs
            albumInfo = fetchAlbumInfo(albumId)  #get albumInfo dictionary
            album_info_list.append(
                albumInfo)  #append it to the album_info_list

    writeArtistsTable(artist_info_list)
    writeAlbumsTable(album_info_list)
    plotBarChart()
Beispiel #5
0
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    artist_list = []
    album_list = []
    for x in artist_names: 	
    	artist_id = fetchArtistId(x)
    	artist_info = fetchArtistInfo(artist_id)
        artist_list.append(artist_info)
        album_id = fetchAlbumIds(artist_id)
        albums_info = [fetchAlbumInfo(y) for y in album_id]
        album_list +=albums_info

    writeArtistsTable(artist_list)
    writeAlbumsTable(album_list)
    plotBarChart()


Beispiel #6
0
def createNewPlaylist(artist_name):
    cur = db.cursor()
    cur.execute('''CREATE TABLE IF NOT EXISTS songs(
 	playlistId INTEGER,
 	songOrder VARCHAR(255),
 	artistName VARCHAR(255),
 	albumName VARCHAR(255),
 	trackName VARCHAR(255));''')
    cur.execute('''CREATE TABLE IF NOT EXISTS playlists(
 	id INTEGER PRIMARY KEY
 	AUTO_INCREMENT,
 	rootArtist VARCHAR(255));''')
    a = artist_name
    ID = fetchArtistId(a)
    combined_Edge_List = getEdgeList(ID, 2)
    b = combined_Edge_List
    c = pandasToNetworkX(b)
    cur.execute('''
 	INSERT INTO playlists
 	(rootArtist)
 	VALUES
 	(%s)''', (artist_name))
    g = cur.lastrowid
    nodes = []
    albums = []
    tracks = []
    tracks_names = []
    while len(albums) < 30:
        e = randomCentralNode(c)
        f = fetchAlbumIds(e)
        if len(f) == 0:
            continue
        i = len(f) - 1
        g = randint(0, i)
        h = f[g]
        albums.append(h)
    for i in range(30):
        album_id = albums[i]
        url = "https://api.spotify.com/v1/albums/" + album_id + "/tracks"
        req = requests.get(url)
        json_data = req.json()
        j = len(json_data['items']) - 1
        k = json_data['items'][j]['id']
        tracks.append(k)
    for i in range(30):
        track_id = tracks[i]
        url = "https://api.spotify.com/v1/tracks/" + track_id
        req = requests.get(url)
        json_data = req.json()
        names = json_data['name']
        tracks_names.append(names)
    for i in range(30):
        x = fetchAlbumInfo(albums[i])
        ALBUM_NAME = x['name']
        print(x['artist_id'])
        y = fetchArtistInfo(x['artist_id'])
        ARTIST_NAME = y['name']
        TRACK_NAME = tracks_names[i]
        x = i + 1
        cur.execute(
            '''
 		INSERT INTO songs
 		(playlistId, songOrder, artistName, albumName, trackName)
 		VALUES
 		(%s, %s, %s, %s, %s )''', (g, x, ARTIST_NAME, ALBUM_NAME, TRACK_NAME))
    db.commit()
for album in listof30albums:
    tracks = fetchTracks(album)
    random_track = np.random.choice(tracks)
    listof30tracks.append(random_track)

artist_names = []

for artist_id in listof30artists:
    artist_name = fAr.fetchArtistInfo(artist_id)['name']
    artist_names.append(artist_name)

album_names = []

for album_id in listof30albums:
    album_name = fAl.fetchAlbumInfo(album_id)['album_name']
    album_names.append(album_name)

track_names = []


def fetchTrackName(track_id):
    """Give track_id to retrieve track name"""
    """Takes album_id and returns list of album's tracks"""
    url = "https://api.spotify.com/v1/tracks/" + track_id
    req = requests.get(url)
    trackdata = req.json()

    trackname = trackdata['name']

    return trackname
Beispiel #8
0
g = pandasToNetworkX(combinedEdgeList)

sample = []
for i in range(30):
	sample.append(randomCentralNode(g))

outfile = open('playlist.csv', 'w', encoding = 'utf-8')
outfile.write(u'artist_name,album_name,track_name\n')

def fetchARandomTrack(album_id):
	url = 'https://api.spotify.com/v1/albums/'+ album_id +'/tracks' 
	req = requests.get(url)
	data = req.json()
	items = data['items']
	row = np.random.choice(items)
	track_id = row['id']
	track_name = row['name']
	return (track_id, track_name)


for artist in sample:
	artist_name = fetchArtistInfo(artist)['name']
	album_ids = fetchAlbumIds(artist)
	random_album = np.random.choice(album_ids)
	random_album_name = fetchAlbumInfo(random_album)['name']
	random_track_name = fetchARandomTrack(random_album)[1]
	line = '"' + artist_name + '","' + random_album_name + '","' + random_track_name +'"\n'
	outfile.write(line)

outfile.close()
print "playlist.csv is saved."  
Beispiel #9
0
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    artist_list = []
    album_list = []
    for hahaha in artist_names:

        get_artist_id = fetchArtistId(hahaha)
        get_artist_info = fetchArtistInfo(get_artist_id)

        artist_list.append(get_artist_info)

        get_album_ids = fetchAlbumIds(get_artist_id)

        for album in get_album_ids:
            get_album_info = fetchAlbumInfo(album)
            album_list.append(get_album_info)

    writeArtistsTable(artist_list)
    writeAlbumsTable(album_list)
    #getBarChartData()
    plotBarChart()
Beispiel #10
0
## Example syntax to run from terminal shell:
## python main.py "Zac Brown Band", "Usher", "Blink 182"

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names

    # Create Empty Info Lists
    artist_info_list = []
    album_info_list = []

    #Make artist_info_list
    for artist_name in artist_names:
        artist_id = fetchArtistId(artist_name)
        artist_info = fetchArtistInfo(artist_id)
        artist_info_list.append(artist_info)

        #Make album_info_list
        album_id = fetchAlbumIds(artist_id)
        for ID in album_id:
            album_info = fetchAlbumInfo(ID)
            album_info_list.append(album_info)

    #Write CSV Files from Info Lists
    writeArtistsTable(artist_info_list)
    writeAlbumsTable(album_info_list)

    #Plot and Open Bar Chart
    plotBarChart()
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    ArtistIds = []
    ArtistInfos = []
    AlbumIds = []
    AlbumInfos = []
    for name in artist_names:  #get id
        ArtistIds.append(fetchArtistId(name))
    for artistId in ArtistIds:
        ArtistInfos.append(fetchArtistInfo(artistId))
    for artistId in ArtistIds:
        ids = fetchAlbumIds(artistId)
        for aid in ids:
            AlbumIds.append(aid)
    for albumId in AlbumIds:
        AlbumInfos.append(fetchAlbumInfo(albumId))
    writeArtistsTable(ArtistInfos)
    writeAlbumsTable(AlbumInfos)
    plotBarChart()
Beispiel #12
0
def testFetchAlbumInfo():
    albumInfo = fetchAlbumInfo('24geHauG3JIbpyf9CRiuvf')
    assert albumInfo['album_id'] == '24geHauG3JIbpyf9CRiuvf'
    assert albumInfo['popularity'] == 44
    rndm_artists = []
    for artist in range(30):
        rndm_artists.append(randomCentralNode(g))

    # creates a list of tuples of related (artist,album,song)
    # I altered the code from assignment 5 so that album name
    # is part of the returned dictionary in fetchAlbumInfo and
    # created a new function in fetchAlbums that chooses a random
    # song from an album

    to_write = []
    for artist in rndm_artists:
        albums = fetchAlbumIds(artist)
        rndm_album_id = np.random.choice(albums)
        song_name = fetchRndmSong(rndm_album_id)
        album_info = fetchAlbumInfo(rndm_album_id)
        artist_name = album_info['name']
        album_name = album_info['album_name']
        to_write.append((artist_name, album_name, song_name))
    
    # opens a file, writes the tuples into the csv

    outFile = open('playlist.csv','w',encoding='utf-8')
    outFile.write(u'artist_name,album_name,song_name\n')

    for i in to_write:
        print i
        artist_name = i[0]
        album_name = i[1]
        song_name = i[2]
        outFile.write("%s,\"%s\",%s\n" %\
Beispiel #14
0
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    album_info_list = []
    artist_info_list = []
    for artist in artist_names:
    	artist_id = fetchArtistId(artist)
    	album_info_list.append(fetchAlbumInfo(fetchAlbumIds(fetchArtistId(artist))[0]))
    	artist_info_list.append(fetchArtistInfo(fetchArtistId(artist)))
    writeArtistsTable(artist_info_list)
    writeAlbumsTable(album_info_list)
    plotBarChart()
		combinedlists=newlist

	g=pandasToNetworkX(combinedlists)

	random_artists=[]
	for i in range(30):
		newartist=randomCentralNode(g)
		random_artists.append(newartist)

	#print random_artists

	rows=[]
	
	f=open('playlist.csv','w',encoding='utf-8')
	f.write(u'ARTIST_NAME,ALBUM_NAME,TRACK_NAME\n') 

	for artist in random_artists:
		artistinfo=fetchArtistInfo(artist)
		artistname=artistinfo['name']
		albumlist=fetchAlbumIds(artist)
		if not albumlist:
			continue
		else:
			pickalbum=np.random.choice(albumlist)
		albuminfo=fetchAlbumInfo(pickalbum)
		albumname=albuminfo['name']
		songname=getRandomSong(pickalbum)
		f.write('"'+artistname+'"'+','+'"'+albumname+'"'+','+'"'+songname+'"'+'\n')
		

from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    list_of_artist_ids = []

    for artist in artist_names:
        artist_id = fetchArtistId(artist)
        list_of_artist_ids.append(artist_id)

        list_of_artist_dicts = []

        for artist_id in list_of_artist_ids:
            artist_info = fetchArtistInfo(artist_id)
            list_of_artist_dicts.append(artist_info)

        writeArtistsTable(list_of_artist_dicts)

        list_of_album_ids = []
        for artist in list_of_artist_ids:
            list_of_album_ids += fetchAlbumIds(artist)

        list_of_album_dicts = []
        for album in list_of_album_ids:
            list_of_album_dicts.append(fetchAlbumInfo(album))

        writeAlbumsTable(list_of_album_dicts)

        plotBarChart()
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    artist_id = []
    album_id = []

    artist_info = [fetchArtistInfo(fetchArtistId(i)) for i in artist_names]
    album_info = []
    for i in artist_info:
        for item in fetchAlbumIds(i['id']):
            album_info.append(fetchAlbumInfo(item))
    writeArtistsTable(artist_info)
    writeAlbumsTable(album_info)
    plotBarChart()
Beispiel #18
0
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    artistList = []

    for name in artist_names:
        artID = fetchArtistId(name)
        artistList.append(artID)  # generate a list of all artist names

    artistInfoDict = []
    albumDictList = []
    for identity in artistList:  # indexing through artist IDs
        artistInfoDict.append(fetchArtistInfo(
            identity))  # create list of artist info dictionaries
        identityAlbumList = fetchAlbumIds(
            identity)  # generate list of albums for artist identity
        for album in identityAlbumList:
            albumDictList.append(fetchAlbumInfo(album))

    writeArtistsTable(artistInfoDict)  # write artist information to CSV
    writeAlbumsTable(albumDictList)  # write album information to CSV

    plotBarChart()
Beispiel #19
0
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

# Where the main.py script says # YOUR CODE HERE, you should write code using the imported functions which:

# Loops through the list of artist names, gets their IDs and corresponding info (using fetchArtistId() and fetchArtistInfo()).
# Loops through the artist IDs and gets their album IDs and album info (using fetchAlbumIds() and fetchAlbumInfo()).
# Writes out CSV files given these lists of artist info dictionaries and album info dictionaries (using writeArtistsTable() and writeAlbumsTable().
# Calls plotBarChart() to read and plot your CSV files.

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    all_artists = []
    all_albums = []
    for artist in artist_names:
        artist_id = fetchArtistId(artist)
        artist_info = fetchArtistInfo(artist_id)
        all_artists.append(artist_info)
        album_ids = fetchAlbumIds(artist_id)
        albums_info = [fetchAlbumInfo(x) for x in album_ids]
        all_albums += albums_info
    writeArtistsTable(all_artists)
    writeAlbumsTable(all_albums)
    plotBarChart()
Beispiel #20
0
artist_info_list = (fetchArtistInfo(fetchArtistId("Britney Spears")))
writeArtistsTable(artist_info_list)


def writeAlbumsTable(album_info_list):
    s = open('albums.csv', 'r+')
    s.write(u'ARTIST_ID,ALBUM_ID,ALBUM_NAME,ALBUM_YEAR,ALBUM_POPULARITY')
    for album in album_info_list:
        ARTIST_ID = album['artist_id']
        ALBUM_ID = album['album_id']
        ALBUM_NAME = album['name']
        ALBUM_YEAR = album['year']
        ALBUM_POPULARITY = album['popularity']
        s.write(
            '%s, "%s", %s, %s\n' %
            (ARTIST_ID, ALBUM_ID, ALBUM_NAME, ALBUM_YEAR, ALBUM_POPULARITY))


album_info_list = [{
    'artist_id': '26dSoYclwsYLMAKD3tpOr4',
    'album_id': '5rlB2HPoNHg2m1wmmh0TRv',
    'name': 'Britney Jean (Deluxe Version)',
    'year': '2013',
    'popularity': 67
}]
album_info_list = (fetchAlbumInfo(fetchAlbumId('Britney Spears')))
writeAlbumsTable(album_info_list)

#only exeute this code below this
#writeArtistsTable("empty string") #executing the above code
#print fetchArtistInfo(fetchArtistId("Beck"))
def testFetchAlbumInfo():
    albumInfo = fetchAlbumInfo('24geHauG3JIbpyf9CRiuvf')
    assert albumInfo['album_id'] == '24geHauG3JIbpyf9CRiuvf'
    assert albumInfo['popularity'] == 44
Beispiel #22
0
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart, getBarChartData

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print ("input artists are ", artist_names)
    # YOUR CODE HERE
    
    artist_ids = []

    for i in range(len(artist_names)):
    	artist_ids.append(fetchArtistId(artist_names[i]))

    artist_info_list = []
    artist_album_list = {}

    for i in range(len(artist_ids)):
    	artist_info_list.append(fetchArtistInfo(artist_ids[i]))
    	artist_album_list[i]=fetchAlbumIds(artist_ids[i])

    writeArtistsTable(artist_info_list)

    album_info_list=[]

    for i in range(len(artist_album_list)):
    	for j in range(len(artist_album_list[i])):
    		album_info_list.append(fetchAlbumInfo(artist_album_list[i][j]))

    writeAlbumsTable(album_info_list)

    plotBarChart()
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
	artist_names = sys.argv[1:]
	print "input artists are ", artist_names
	infos=[]
	ids=[]
	album_infos=[]
	for current_name in artist_names:
		print "current name is", current_name
		current_id=fetchArtistId(current_name)
		print "current id is", current_id
		current_info=fetchArtistInfo(current_id)
		infos.append(current_info)
		ids.append(current_id)
	for new_id in ids:
		album_ids=fetchAlbumIds(new_id)
		for album_id in album_ids:
			album_info=fetchAlbumInfo(album_id)
			album_infos.append(album_info)
	writeArtistsTable(infos)
	print "album_info is ", album_info
	writeAlbumsTable(album_infos)


	
    

Beispiel #24
0
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
	artist_names = sys.argv[1:]
	print "input artists are ", artist_names
	# YOUR CODE HERE
	ids = []
	artist_info = []
	album_info = []
	for i in artist_names:
		id = fetchArtistId(i)
		ids.append(id) #list of artist ids
		print ids

	for id in ids:
		artist_info.append(fetchArtistInfo(id)) #creating list of dictionaries of artists' info
		album_ids = fetchAlbumIds(id) #list of album ids for each artist
		print album_ids
		for album_id in album_ids:
			album_info.append(fetchAlbumInfo(album_id)) #list of dictionaries of album info
		print album_info
			
	#create artist csv and album csv
	writeArtistsTable(artist_info)
	writeAlbumsTable(album_info)
	
	plotBarChart()

import sys
from io import open
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE

    artist_info_list = []
    album_info_list = []

    for name in artist_names:
        artist_id = fetchArtistId(name)
        artist_info = fetchArtistInfo(artist_id)
        artist_info_list.append(artist_info)

        album_ids = fetchAlbumIds(artist_id)
        for album in album_ids:
            alb_info = fetchAlbumInfo(album)
            album_info_list.append(alb_info)

    writeArtistsTable(artist_info_list)
    writeAlbumsTable(album_info_list)

    plotBarChart()
Beispiel #26
0
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    artists = []
    albums = []
    for an in artist_names:
        a_id = fetchArtistId(an)
        artists.append(fetchArtistInfo(a_id))
        albs = fetchAlbumIds(a_id)
        for alb in albs:
            albums.append(fetchAlbumInfo(alb))
    writeArtistsTable(artists)
    writeAlbumsTable(albums)
    plotBarChart()

    artist_names = sys.argv[1:]
    print "input artists are ", artist_names

    artist_ids_list = []

    for artist in artist_names:
        artist_id = fetchArtistId(artist)
        artist_ids_list.append(artist_id)

        artist_dicts_list = []

        for artist_id in artist_ids_list:
            artist_info = fetchArtistInfo(artist_id)
            artist_dicts_list.append(artist_info)

        writeArtistsTable(artist_dicts_list)

        album_ids_list = []

        for artist in artist_ids_list:
            album_ids_list += fetchAlbumIds(artist)

        album_dicts_list = []

        for album in album_ids_list:
            album_dicts_list.append(fetchAlbumInfo(album))

        writeAlbumsTable(album_dicts_list)

    plotBarChart()
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    artists_ids = []
    artist_info = []
    print "input artists are ", artist_names
    for n in artist_names:
    	id = fetchArtistId(n)
    	artists_ids.append(id)
    	artist_info.append(fetchArtistInfo(id))

    album_info = []
    for ids in artists_ids:
    	album_id = fetchAlbumIds(ids)
    	for alb in album_id:
    		album_info.append(fetchAlbumInfo(alb))
    writeArtistsTable(artist_info)
    writeAlbumsTable(album_info)
    plotBarChart()


    

Beispiel #29
0
 for i in range(30):
     e = nodes[i]
     f = fetchAlbumIds(e)
     i = len(f) - 1
     g = randint(0, i)
     h = f[g]
     albums.append(h)
 for i in range(30):
     album_id = albums[i]
     url = "https://api.spotify.com/v1/albums/" + album_id + "/tracks"
     req = requests.get(url)
     json_data = req.json()
     j = len(json_data['items']) - 1
     k = json_data['items'][j]['id']
     tracks.append(k)
 for i in range(30):
     track_id = tracks[i]
     url = "https://api.spotify.com/v1/tracks/" + track_id
     req = requests.get(url)
     json_data = req.json()
     names = json_data['name']
     tracks_names.append(names)
 f = open('playlist.csv', 'w')
 for i in range(30):
     x = fetchAlbumInfo(albums[i])
     ALBUM_NAME = x['name']
     y = fetchArtistInfo(x['artist_id'])
     ARTIST_NAME = y['name']
     TRACK_NAME = tracks_names[i]
     f.write(u'"%s","%s","%s"\n' % (ARTIST_NAME, ALBUM_NAME, TRACK_NAME))
 f.close()
    print "input artists are ", artist_names
    # YOUR CODE HERE

    artist_ids = []
    # Creates a list of artist IDs
    for artist in artist_names:
        artist_ids.append(fetchArtistId(artist))

    artist_info = []
    # Creates a list of artist info dictionaries
    for ids in artist_ids:
        artist_info.append(fetchArtistInfo(ids))

    artist_album_ids = []
    # Creates a list of lists of album ids
    for ids in artist_ids:
        artist_album_ids.append(fetchAlbumIds(ids))

    albums_info = []
    # Creates a list of dictionaries of album information
    for artist_albums in artist_album_ids:
        for ids in artist_albums:
            albums_info.append(fetchAlbumInfo(ids))

    # Creates a table from list of dictionaries of artist info
    writeArtistsTable(artist_info)

    # Creates a table from list of dictrionaries of album info
    writeAlbumsTable(albums_info)

    plotBarChart()
import sys
from fetchArtist import fetchArtistId, fetchArtistInfo
from fetchAlbums import fetchAlbumIds, fetchAlbumInfo
from csvUtils import writeArtistsTable, writeAlbumsTable
from barChart import plotBarChart

if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    artistinfolist = [fetchArtistInfo(fetchArtistId(i)) for i in artist_names]
    albuminfolist = []
    for i in artistinfolist:
        #print i['id']
        for albumid in fetchAlbumIds(i['id']):
            albuminfolist.append(fetchAlbumInfo(albumid))
    writeArtistsTable(artistinfolist)
    writeAlbumsTable(albuminfolist)
    plotBarChart()
Beispiel #32
0
if __name__ == '__main__':
    artist_names = sys.argv[1:]
    print "input artists are ", artist_names
    # YOUR CODE HERE
    artist_id_list = []
    artist_info_list = []
    album_id_list = []
    album_info_list = []
    for name in artist_names:
        artist_id_list.append(fetchArtistId(name))
    print artist_id_list
    for artist_id in artist_id_list:
        artist_info_list.append(fetchArtistInfo(artist_id))
    print artist_info_list
    for artist_id in artist_id_list:
        album_id_list.append(fetchAlbumIds(artist_id))
    print album_id_list
    for album_id in album_id_list:
        album_info_list.append(fetchAlbumInfo(album_id))
    print album_info_list

    writeArtistsTable(artist_info_list)
    writeAlbumsTable(album_info_list)
    plotBarChart()