Exemple #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)
Exemple #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)
    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()
Exemple #5
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()




    

Exemple #6
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()
Exemple #7
0
         ID = fetchArtistId(artist_name)
         edgeList1 = getEdgeList(ID, 2)
         combined_Edge_List = combineEdgelists(combined_Edge_List,
                                               edgeList1)
 b = combined_Edge_List
 c = pandasToNetworkX(b)
 nodes = []
 albums = []
 tracks = []
 tracks_names = []
 for i in range(30):
     d = randomCentralNode(c)
     nodes.append(d)
 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
		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')
		

def testFetchAlbums():
    assert len(fetchAlbumIds('57anmI1X2hXWPrNagFdzZr')) == 9
Exemple #10
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."  
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()
Exemple #12
0
from io import open

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

    #create list of artist ids
    artist_ids = []
    for name in artist_names:
        artist_ids.append(fetchArtistId(name))

    #create list of artist info dictionaries
    artist_info = []
    for artID in artist_ids:
        artist_info.append(fetchArtistInfo(artID))

    #create artists.csv
    writeArtistsTable(artist_info)

    #create list of album ids
    albums = []
    for artist in artist_ids:
        artists_albums = fetchAlbumIds(artist)
        for album in artists_albums:
            albums.append(fetchAlbumInfo(album))

    #create albums.csv
    writeAlbumsTable(albums)

    plotBarChart()
Exemple #13
0
def testFetchAlbums():
    assert len(fetchAlbumIds('57anmI1X2hXWPrNagFdzZr')) == 9
import sys
import requests
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 = []
    album_list = []
    for i in range(len(artist_names)):
        artistinfo = fetchArtistInfo(fetchArtistId(artist_names[i]))

        artistlist.append(artistinfo)
        artist_id = artistinfo['id']
        albums = fetchAlbumIds(artist_id)

        for album in albums:

            albuminfo = fetchAlbumInfo(album)

            album_list.append(albuminfo)

    writeAlbumsTable(album_list)
    writeArtistsTable(artistlist)

plotBarChart()
Exemple #15
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()
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()
Exemple #17
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()
Exemple #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
    # 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()
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)


	
    

def testFetchAlbums():
    assert len(
        fetchAlbumIds('57anmI1X2hXWPrNagFdzZr')) == 9  # changed as instructed
Exemple #21
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()
Exemple #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 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()
combinededgelistdf = anN.readEdgeList("combinededgelist.csv")

network = anN.pandasToNetworkX(combinededgelistdf)

listof30artists = []

while len(listof30artists) != 30:
    artist = anN.randomCentralNode(network)
    listof30artists.append(artist)

listof30albums = []
singleslist = []

for artist in listof30artists:
    albums = fAl.fetchAlbumIds(artist)
    if len(albums) == 0:
        url = "https://api.spotify.com/v1/artists/" + artist + "/albums?&album_type=single"
        req = requests.get(url)
        singledata = req.json()['items']
        for x in singledata:
            singleslist.append(x['id'])
            random_single = np.random.choice(singleslist)
            listof30albums.append(random_single)
    else:
        random_album = np.random.choice(albums)
        listof30albums.append(random_album)


def fetchTracks(album_id):
    """Takes album_id and returns list of album's tracks"""
Exemple #25
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()

Exemple #26
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
    
    artistinfo_list = []
    albuminfo_list = []

    for artist in artist_names:
    	artist_id = fetchArtistId(artist)
    	artist_info = fetchArtistInfo(artist_id)
    	artistinfo_list.append(artist_info)

    	album_id = fetchAlbumIds(artist_id)
    	for albumid in album_id:
    		album_info = fetchAlbuminfo(albumid)
    		albuminfo_list.append(album_info)

    writeArtistsTable(artistinfo_list)
    writeAlbumsTable(albuminfo_list)

    plotBarChart()




Exemple #27
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()

Exemple #28
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

    artistinfo_list = []
    albuminfo_list = []

    for artist in artist_names:
        artist_id = fetchArtistId(artist)
        artist_info = fetchArtistInfo(artist_id)
        artistinfo_list.append(artist_info)

        album_id = fetchAlbumIds(artist_id)
        for albumid in album_id:
            album_info = fetchAlbuminfo(albumid)
            albuminfo_list.append(album_info)

    writeArtistsTable(artistinfo_list)
    writeAlbumsTable(albuminfo_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()


    

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()
    for i in artistidlist:
        edgelist = getEdgeList(i, 2)
        new_edgelist = combineEdgeLists(edgelist, old_edgelist)
        old_edgelist = new_edgelist

        #pick tracks
        k = 0
        artist_list = []
        while k != 30:
            artist_dict = {}
            artist_dict['artist_name'] = fetchArtistInfo(
                randomCentralNode(pandasToNetworkX(old_edgelist)))['name']
            #print artist_dict['artist_name']
            album_id = np.random.choice(
                fetchAlbumIds(fetchArtistId(artist_dict['artist_name'])))
            #print album_id
            artist_dict['album_name'] = fetchAlbumInfo(album_id)['name']
            #print artist_dict['album_name']
            track_id = np.random.choice(fetchTrackIds(album_id))
            #print track_id
            artist_dict['track_name'] = fetchTrackInfo(track_id)['name']
            #print artist_dict['track_name']
            artist_list.append(artist_dict)
            k += 1

#write to csv
        f = open("playlist.csv", 'w', encoding='utf-8')
    f.write('"%s", "%s","%s"\n' %
            (u'artist_name', u'album_name', u'track_name'))
    for i in artist_list: