示例#1
0
def main(request):
    if request.user.is_authenticated:
        room = None
        if 'room_id' in request.POST:
            try:
                room = Room.get_by_id(request.POST['room_id'])
            except:
                return apiRespond(400, msg='invalid room_id')
        if room == None:
            room = request.user.room
        if room != None:
            members = room.get_members()
            friends = []
            others = []
            for member in members:
                friend_status, friend_obj = member.friendship_status(
                    request.user)
                if friend_status == 3:
                    friends.append(member.get_profile_min())
                else:
                    others.append(member.get_profile_min())
            return apiRespond(200, friends=friends, others=others)
        else:
            return apiRespond(400, msg='Not a member of any room and no room_id provided')
    else:
        # user is already logged in, redirect to root
        return apiRespond(401, msg='User not logged in')
示例#2
0
def p_skipto(request):
    if "access_key" in request.POST and request.POST["access_key"] == LIVE_ACCESS_KEY:
        if "room_id" in request.POST:
            try:
                room = Room.get_by_id(request.POST['room_id'])
            except:
                return apiRespond(400, msg='room_id invalid')
            else:
                curr_time = timezone.now()
                if not room.is_paused:
                    dur = room.duration_to_complete
                    if curr_time >= (room.play_start_time+datetime.timedelta(seconds=dur.second,  minutes=dur.minute)-datetime.timedelta(seconds=5,  minutes=0)):
                        print('valid time to skipto')
                        room.skip_to_next()
                        return apiRespond(201, msg='skipped to next')
                    else:
                        print('NOT valid time to skipto', curr_time-(room.play_start_time +
                                                                     datetime.timedelta(seconds=dur.second,  minutes=dur.minute)))
                        return apiRespond(400, msg='NOT valid time to skipto')
                else:
                    print('skipto canceled, playback is paused')
                    return apiRespond(400, msg='playback is paused')
        else:
            return apiRespond(400, msg='room_id missing')
    else:
        return apiRespond(400, msg='access_key invalid')
示例#3
0
def main(request):
    if request.user.is_authenticated:
        if "room_id" in request.POST:
            try:
                room = Room.get_by_id(request.POST['room_id'])
            except:
                return apiRespond(400, msg='invalid room_id')
            else:
                try:
                    room = request.user.join_room(room)
                except:
                    return apiRespond(400, msg='Access denied')
                else:
                    return apiRespond(201, **room.get_state_obj())
        else:
            return apiRespond(400, msg='room_id missing')
    else:
        # user is already logged in, redirect to root
        return apiRespond(401, msg='User not logged in')