Exemplo n.º 1
0
def task_4_artists_create_song():
    """Should create a new song for B.B. King artist"""
    bbKing = Artist.objects.get(artistic_name__iexact="B.B. King")
    new_song = Song(artist_id=bbKing.pk,
                    title="New Jam",
                    album_name="New Album")
    new_song.save()
Exemplo n.º 2
0
def task_4_artists_create_song():
    """Should create a new song for Ed Sheeran artist"""
    sheeran_id = Artist.objects.get(artistic_name='Ed Sheeran').id
    new_song = Song(artist_id=sheeran_id,
                    title='My new song',
                    album_name='My new album')
    new_song.save()
Exemplo n.º 3
0
def savePlaylist(request, rand_digits):
    print("running savePlaylist, url below")
    url = request.POST.get('url')
    print(url)
    if url is not None:
        print(url.__len__())
    email = request.POST.get('email')
    print("email: " + email)
    playlist = request.POST.get('playlist')
    print("received playlist: " + playlist)
    songs = request.POST.get('songs')
    data = json.loads(songs)
    print("playlist length: " + str(len(data)))
    numurls = URL.objects.count()
    print("numurls: " + str(numurls))

    # minimize collisions where we have to generate another random url
    if numurls > ((math.pow(numpossibles, rand_digits[0])) / 2):
        rand_digits[0] += 1
    print("url length: " + str(rand_digits[0]))

    # if the playlist is new and isn't in the database yet
    if (url is None) or (url.__len__() == 0):
        goodsave = False
        while goodsave == False:
            try:
                randomurl = urlGenerator(rand_digits[0])
                playlisturl = URL(url_text=randomurl, user_email=email)
                playlisturl.save()
                goodsave = True
            except IntegrityError, e:
                print("URL was not unique, generating another one...")

        print("successfully found random url: " + randomurl)
        playlist = Playlist(playlist_text=playlist,
                            url=playlisturl,
                            numsongs=len(data))
        playlist.save()

        #now that the playlist is saved, insert the songs to complete relationship
        for x in range(len(data)):
            print(data[x])
            song = Song(song_id=data[x]['id'],
                        song_name=data[x]['name'],
                        artist_name=data[x]['artist'],
                        album_name=data[x]['album'])
            song.save()
            song.playlist.add(playlist)

        print(playlist.song_set.all())

        # return the url assigned to the playlist
        return HttpResponse({simplejson.dumps(randomurl)})
Exemplo n.º 4
0
def savePlaylist(request, rand_digits):
    print("running savePlaylist, url below")
    url = request.POST.get('url')
    print(url)
    if url is not None:
        print(url.__len__())
    email = request.POST.get('email')
    print("email: " + email)
    playlist = request.POST.get('playlist')
    print("received playlist: " + playlist)
    songs = request.POST.get('songs')
    data = json.loads(songs)
    print("playlist length: " + str(len(data)))
    numurls = URL.objects.count()
    print("numurls: " + str(numurls))

    # minimize collisions where we have to generate another random url
    if numurls > ((math.pow(numpossibles, rand_digits[0])) / 2):
        rand_digits[0] += 1
    print("url length: " + str(rand_digits[0]))

    # if the playlist is new and isn't in the database yet
    if (url is None) or (url.__len__() == 0):
        goodsave = False
        while goodsave == False:
            try:
                randomurl = urlGenerator(rand_digits[0])
                playlisturl = URL(url_text=randomurl, user_email=email)
                playlisturl.save()
                goodsave = True
            except IntegrityError, e:
                print("URL was not unique, generating another one...")

        print("successfully found random url: " + randomurl)
        playlist = Playlist(playlist_text=playlist, url=playlisturl, numsongs=len(data))
        playlist.save()

        #now that the playlist is saved, insert the songs to complete relationship
        for x in range (len(data)):
            print(data[x])
            song = Song(song_id=data[x]['id'], song_name=data[x]['name'], artist_name=data[x]['artist'], album_name=data[x]['album'])
            song.save()
            song.playlist.add(playlist)

        print(playlist.song_set.all())

        # return the url assigned to the playlist
        return HttpResponse({simplejson.dumps(randomurl)})
def task_4_artists_create_song():
    """Should create a new song for B.B. King artist"""
    new_song = Song()
    new_song.artist_id = 3
    new_song.title = 'my new title'
    new_song.album = 'greatest hits'
    new_song.save()
    return new_song
Exemplo n.º 6
0
def task_4_artists_create_song():
    """Should create a new song for B.B. King artist"""
    bbKing = Song()
    bbKing.artist_id = Artist.objects.get(artistic_name="B.B. King").id
    bbKing.title = "That one with Eric Clapton"
    bbKing.album_name = "That album with Eric Clapton"
    bbKing.save()
    """
Exemplo n.º 7
0
def task_4_artists_create_song():
    """Should create a new song for Ed Sheeran artist"""
    sheeran_id = Artist.objects.get(first_name__icontains="ed").id
    Song(title="foo", album_name="bar", artist_id=sheeran_id).save()
Exemplo n.º 8
0
    else:
        cursor = connection.cursor()
        print("backend overwriting prior version of playlist")
        for x in URL.objects.raw('SELECT * FROM artists_URL WHERE user_email = %s AND url_text=%s', [email, url]):
            print(x)
            playlistref = x.playlist_set.get(playlist_text=playlist)
            print(playlistref)
            # remove all songs in the playlist
            for y in playlistref.song_set.all():
                print(y)
                y.delete()
            # re-enter songs from new version
            counter = 0
            for z in range (len(data)):
                print(data[z])
                song = Song(song_id=data[z]['id'], song_name=data[z]['name'], artist_name=data[z]['artist'], album_name=data[z]['album'])
                song.save()
                song.playlist.add(playlistref)
                counter = counter + 1
            playlistref.numsongs = counter;
            playlistref.save()
        return HttpResponse("successful overwrite, no new url")

# this function generates a random string of default size 6 from the alphabet and digits - accounting for both
# lower and upper case letters, there are 62 possible choices for a single char in the URL
def urlGenerator(size=6, chars=string.ascii_uppercase + string.ascii_lowercase + string.digits):
    return ''.join(random.choice(chars) for x in range(size))

def printJSONEntry(entry):
    for key, value in entry.iteritems():
        print key, value
Exemplo n.º 9
0
def task_4_artists_create_song():
    """Should create a new song for Ed Sheeran artist"""
    artist = Artist.objects.get(artistic_name="Ed Sheeran")
    a = Song(title="songtitle", album_name="albumname", artist_id=artist.id)
    a.save()
Exemplo n.º 10
0
def task_4_artists_create_song():
    """Should create a new song for B.B. King artist"""
    b=Song(title='This is a Song', artist_id = 3, album_name='This is an album')
    b.save()
def task_4_artists_create_song():
    """Should create a new song for B.B. King artist"""
    return Song(artist_id=3, title="New Song", album_name="New Album").save()
Exemplo n.º 12
0
def task_4_artists_create_song():
    artist = Artist.objects.get(artistic_name = 'B.B. King')
    new_song = Song(artist_id=artist.id, title='Hello World', album_name='Python')
    new_song.save()
Exemplo n.º 13
0
        for x in URL.objects.raw(
                'SELECT * FROM artists_URL WHERE user_email = %s AND url_text=%s',
            [email, url]):
            print(x)
            playlistref = x.playlist_set.get(playlist_text=playlist)
            print(playlistref)
            # remove all songs in the playlist
            for y in playlistref.song_set.all():
                print(y)
                y.delete()
            # re-enter songs from new version
            counter = 0
            for z in range(len(data)):
                print(data[z])
                song = Song(song_id=data[z]['id'],
                            song_name=data[z]['name'],
                            artist_name=data[z]['artist'],
                            album_name=data[z]['album'])
                song.save()
                song.playlist.add(playlistref)
                counter = counter + 1
            playlistref.numsongs = counter
            playlistref.save()
        return HttpResponse("successful overwrite, no new url")


# this function generates a random string of default size 6 from the alphabet and digits - accounting for both
# lower and upper case letters, there are 62 possible choices for a single char in the URL
def urlGenerator(size=6,
                 chars=string.ascii_uppercase + string.ascii_lowercase +
                 string.digits):
    return ''.join(random.choice(chars) for x in range(size))
Exemplo n.º 14
0
def task_4_artists_create_song():
    """Should create a new song for B.B. King artist"""
    s = Song(artist_id=Artist.objects.get(artistic_name='B.B. King').id)
    return s.save()
def task_4_artists_create_song():
    """Should create a new song for B.B. King artist"""
    bbKing = Artist.objects.get(artistic_name__iexact='b.b. king')
    new_song = Song(artist_id=bbKing.pk, title='Dude Song', album_name='Edition #2')
    new_song.save()