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)
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()
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()
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
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."
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()
## 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()
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" %\
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()
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()
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()
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"))
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)
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()
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()
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()
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()