Exemplo n.º 1
0
def json_search(request):
    query_string = request.GET.get('q','')
    songs = get_search_results(query_string, request.user, 'all_songs')
    fields = ('title', 'album', 'artist')
    json_obj = [dict((k, v) for (k, v) in song.__dict__.items() if k in fields)
                for song in songs]
    return json_response.render_json_response(json.dumps(json_obj))
Exemplo n.º 2
0
def json_user_playlists(request):
    if request.user.is_authenticated():
        query = Q(owner=request.user) | Q(group__in=request.user.groups.all())
        playlists = Playlist.objects.filter(query)
    else: playlists = Playlist.objects.none()
    playlist_data = [{'pid': pl.id, 'owner': pl.owner.username, 'name': pl.name}
                     for pl in playlists]
    return json_response.render_json_response(json.dumps(playlist_data))
Exemplo n.º 3
0
def json_search(request):
    query_string = request.GET.get('q', '')
    songs = get_search_results(query_string, request.user, 'all_songs')
    fields = ('title', 'album', 'artist')
    json_obj = [
        dict((k, v) for (k, v) in song.__dict__.items() if k in fields)
        for song in songs
    ]
    return json_response.render_json_response(json.dumps(json_obj))
Exemplo n.º 4
0
def json_user_playlists(request):
    if request.user.is_authenticated():
        query = Q(owner=request.user) | Q(group__in=request.user.groups.all())
        playlists = Playlist.objects.filter(query)
    else:
        playlists = Playlist.objects.none()
    playlist_data = [{
        'pid': pl.id,
        'owner': pl.owner.username,
        'name': pl.name
    } for pl in playlists]
    return json_response.render_json_response(json.dumps(playlist_data))
Exemplo n.º 5
0
    return _json_control_update(request, channel)

def json_control_update(request, channel_id=1):
    """View handler that serves the JSON API request."""
    try: channel = Channel.objects.get(pk=channel_id)
    except Channel.DoesNotExist: raise Http404
    return _json_control_update(request, channel)

def _json_control_update(request, channel):
    """Utility for returning JSON with updated channel status."""
    try:
        channel_info = json_channel_info(request, channel)
    except ControlError, err:
        return json_error(str(err))
    else:
        return render_json_response(channel_info)


# @permission_required('aenclave.can_queue', 'Queue Song')
def queue_to_front(request):
    form = request.REQUEST
    songs = get_song_list(form)
    if len(songs) != 1:
        raise json_error("Can only queue one song to front")

    song = songs[0]
    channel = Channel.default()
    ctrl = channel.controller()

    try:
        ctrl.queue_to_front(song)
Exemplo n.º 6
0
    """View handler that serves the JSON API request."""
    try:
        channel = Channel.objects.get(pk=channel_id)
    except Channel.DoesNotExist:
        raise Http404
    return _json_control_update(request, channel)


def _json_control_update(request, channel):
    """Utility for returning JSON with updated channel status."""
    try:
        channel_info = json_channel_info(request, channel)
    except ControlError, err:
        return json_error(str(err))
    else:
        return render_json_response(channel_info)


# @permission_required('aenclave.can_queue', 'Queue Song')
def queue_to_front(request):
    form = request.REQUEST
    songs = get_song_list(form)
    if len(songs) != 1:
        raise json_error("Can only queue one song to front")

    song = songs[0]
    channel = Channel.default()
    ctrl = channel.controller()

    try:
        ctrl.queue_to_front(song)