def sync(request, user_id): api, result = UserProfile.get_google_music_api(user_id) if(result): songs = api.get_all_songs() song_dicts = [Song.create_from_google_music(song, user_id).to_dict() for song in songs] return HttpResponse(json.dumps({'songs':song_dicts, 'id': user_id}), mimetype="application/json") else: logger.warn("Failed to log in!") return HttpResponse(json.dumps({'message':'Could not log in to Google Music'}), mimetype="application/json")
def stream_url(request, user_id, song_id): api, result = UserProfile.get_google_music_api(user_id) if(result): song = { 'id': song_id, 'stream_url': api.get_stream_url(song_id) } return HttpResponse(json.dumps(song), mimetype="application/json") else: logger.warn("Failed to log in!") return HttpResponse(json.dumps({'message':'Could not log in to Google Music'}), mimetype="application/json")
def pop_song(request, user_id, queue_id): queue = Queue.objects.get(id=queue_id) response = {} song = queue.pop() if(song != None): api, result = UserProfile.get_google_music_api(user_id) stream_url = api.get_stream_url(song.id) song_dict = song.to_dict() song_dict['stream_url'] = stream_url response['popped_song'] = song_dict response['queue'] = queue.to_dict() return HttpResponse(json.dumps(response), mimetype="application/json")