示例#1
0
def create_playlist(request):
    form = request.POST
    name = get_unicode(form, 'name')
    if not name:
        return html_error(request, 'No name provided.')  # TODO better feedback
    # Make sure that we can create the playlist.
    # WTF In fact, we can't use playlist.songs until playlist has been saved.
    playlist = Playlist(name=name, owner=request.user)
    try:
        playlist.save()  # BTW This will fail if (name,owner) is not unique.
    except:
        return html_error(request, 'A playlist of that name already exists.')
    #    return error(request,'Nonunique name/owner.')  # TODO better feedback
    # Add the specified songs to the playlist.
    songs = get_song_list(form)
    playlist.set_songs(songs)
    playlist.save()
    # Redirect to the detail page for the newly created playlist.
    return HttpResponseRedirect(playlist.get_absolute_url())
示例#2
0
def create_playlist(request):
    form = request.POST
    name = get_unicode(form, 'name')
    if not name:
        return html_error(request,'No name provided.')  # TODO better feedback
    # Make sure that we can create the playlist.
    # WTF In fact, we can't use playlist.songs until playlist has been saved.
    playlist = Playlist(name=name, owner=request.user)
    try:
        playlist.save()  # BTW This will fail if (name,owner) is not unique.
    except:
        return html_error(request, 'A playlist of that name already exists.')
    #    return error(request,'Nonunique name/owner.')  # TODO better feedback
    # Add the specified songs to the playlist.
    songs = get_song_list(form)
    playlist.set_songs(songs)
    playlist.save()
    # Redirect to the detail page for the newly created playlist.
    return HttpResponseRedirect(playlist.get_absolute_url())
示例#3
0
def favorite_song(request, song_id):
    if not request.user.is_authenticated():
        return json_response.json_error('User not authenticated.')
    favorited = request.POST['favorited'] == 'true'
    try:
        song = Song.objects.get(pk=int(song_id))
    except Song.DoesNotExist:
        raise Http404
    pl = Playlist.get_favorites(request.user, create=True)
    try:
        fav = PlaylistEntry.objects.get(song=song, playlist=pl)
    except PlaylistEntry.DoesNotExist:
        fav = None
    if favorited and not fav:
        pl.append_songs([song])
    elif not favorited and fav:
        fav.delete()
    return json_response.json_success("%s favorited: %r" % (song_id, favorited))
示例#4
0
def favorite_song(request, song_id):
    if not request.user.is_authenticated():
        return json_response.json_error("User not authenticated.")
    favorited = request.POST["favorited"] == "true"
    try:
        song = Song.objects.get(pk=int(song_id))
    except Song.DoesNotExist:
        raise Http404
    pl = Playlist.get_favorites(request.user, create=True)
    try:
        fav = PlaylistEntry.objects.get(song=song, playlist=pl)
    except PlaylistEntry.DoesNotExist:
        fav = None
    if favorited and not fav:
        pl.append_songs([song])
    elif not favorited and fav:
        fav.delete()
    return json_response.json_success("%s favorited: %r" % (song_id, favorited))
示例#5
0
def favorites(request):
    favorites = Playlist.get_favorites(request.user, create=True)
    return playlist_detail(request, favorites.id)
示例#6
0
def favorites(request):
    favorites = Playlist.get_favorites(request.user, create=True)
    return playlist_detail(request, favorites.id)