def main(request): if request.user.is_authenticated: if request.user.room != None: room = request.user.room if 'roomtrack_ids[]' in request.POST: roomtrack_ids = request.POST.getlist('roomtrack_ids[]') affected_tracks = [] for roomtrack_id in roomtrack_ids: roomtrack_id = int(roomtrack_id) try: roomtrack = RoomTrack.get_by_id(roomtrack_id) except: pass else: done = room.remove_roomtrack(roomtrack, request.user) if done: affected_tracks.append(roomtrack_id) return apiRespond(201, roomtrack_ids=affected_tracks) else: return apiRespond(400, msg='roomtrack_ids missing') else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: if request.user.room != None: room = request.user.room if 'track_ids[]' in request.POST: track_ids = request.POST.getlist('track_ids[]') if len(track_ids): roomtracks = [] for track_id in track_ids: try: track = Track.get_by_id(track_id) except: pass else: roomtrack = room.add_track(track, request.user) roomtracks.append(roomtrack.get_obj()) return apiRespond(201, roomtracks=roomtracks) else: return apiRespond(400, msg='track_ids format invalid') else: return apiRespond(400, msg='track_ids missing') else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def ping(request): if request.user.is_authenticated: request.user.seen_now() return apiRespond(201, msg='ok') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def skipto(request): if request.user.is_authenticated: data = request.POST if request.user.room != None: room = request.user.room if 'roomtrack_id' in data: rt_id = data['roomtrack_id'] duration = None if 'duration' in data and data['duration'] != '': duration = data['duration'] try: rt = RoomTrack.get_by_id(rt_id) except: return apiRespond(400, msg='roomtrack_id invalid') else: room.skip_to( roomtrack=rt, duration=duration, action_user=request.user) return apiRespond(201, msg='skipped') else: return apiRespond(400, msg='roomtrack_id missing') else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
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')
def main(request): if request.user.is_authenticated: if request.user.room != None: room = request.user.room if 'user_ids[]' in request.POST: user_ids = request.POST.getlist('user_ids[]') if len(user_ids): affected_users = [] for user_id in user_ids: try: user = User.get_by_id(user_id) except: pass else: affected_users.append(user_id) room.revoke_access(user, save=False) room.save() return apiRespond(201, affected_users=affected_users) else: return apiRespond(400, msg='user_ids format invalid') else: return apiRespond(400, msg='user_ids missing') else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: profile=request.user.get_profile(request.user) return apiRespond(200, **profile) else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: tracks = Track.browse() List = [] for track in tracks: List.append(track.get_obj()) return apiRespond(200, tracks=List) else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: if request.user.room != None: room = request.user.room return apiRespond(200, room=room.get_state_obj()) else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: rooms = request.user.get_rooms() List = [] for room in rooms: List.append(room.get_title_obj(request.user)) return apiRespond(200, rooms=List) else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: friends = request.user.get_friend_requests() List = [] for friend in friends: List.append(friend.get_profile_min()) return apiRespond(200, requests=List) else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: if request.user.room != None: request.user.leave_room() return apiRespond(201, msg='room left') else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def play(request): if request.user.is_authenticated: if request.user.room != None: room = request.user.room room.play(action_user=request.user) return apiRespond(201, msg='playing') else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: if "avatar_url" in request.POST: url=request.POST["avatar_url"].strip() request.user.avatar_url=url request.user.save() return apiRespond(200, avatar_url=url) else: return apiRespond(400, msg='avatar_url missing') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: if "name" in request.POST: name = request.POST["name"].strip() request.user.name = name request.user.save() return apiRespond(200, name=name) else: return apiRespond(400, msg='Give a name') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def p_room_check(request): if "access_key" in request.POST and request.POST[ "access_key"] == LIVE_ACCESS_KEY: curr_time = timezone.now() rooms = Room.objects.filter( last_check_on__lte=(curr_time - datetime.timedelta(seconds=0, minutes=5) )).order_by('last_check_on')[:15] for room in rooms: room.check_state() return apiRespond(201, msg='done') else: return apiRespond(400, msg='access_key invalid')
def main(request): if request.user.is_authenticated: if request.user.room != None: room = request.user.room access_users = room.get_access_users() List = [] for access_user in access_users: List.append(access_user.get_profile_min()) return apiRespond(200, access_users=List) else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: if request.user.room != None: room = request.user.room tracks = room.get_roomtracks() List = [] for track in tracks: List.append(track.get_obj()) return apiRespond(200, roomtracks=List) else: return apiRespond(400, msg='Not a member of any room') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def friendship_status(request): if request.user.is_authenticated: if "user_id" in request.POST: try: target_user = User.get_by_id(request.POST["user_id"]) except: return apiRespond(400, msg="User does not exists") else: fstatus, friend = target_user.friendship_status(request.user) return apiRespond(200, friendship_status=fstatus) else: return apiRespond(400, msg='id missing') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if request.user.is_authenticated: if "user_id" in request.POST: try: target_user = User.get_by_id(request.POST["user_id"]) except: return apiRespond(400, msg="User does not exists") else: profile = target_user.get_profile(request.user) return apiRespond(200, **profile) else: return apiRespond(400, msg='id missing') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): prefer_email = None if "prefer_email" in request.session: prefer_email = request.session["prefer_email"] logout(request) if prefer_email is not None: request.session["prefer_email"] = prefer_email return apiRespond(200, msg='logged out')
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')
def main(request, word): txt = word.split(':')[0] lang = None more = False if len(word.split(':')) > 1: opts = word.split(':')[1:] if 'all' in opts: more = True if 'english' in opts: lang = 'english' elif 'hindi' in opts: lang = 'hindi' tracks = search(txt, more, lang=lang) List = [] if tracks is not None: for track in tracks: List.append(track.get_obj()) return apiRespond(200, tracks=List) else: return apiRespond(400, msg='error')
def main(request): if request.user.is_authenticated: if "user_id" in request.POST: try: target_user = User.get_by_id(request.POST["user_id"]) except: return apiRespond(400, msg="User does not exists") else: done = request.user.unfriend(target_user) if done: return apiRespond( 201, friendship_status=request.user.friendship_status( target_user)[0]) else: return apiRespond(400, msg='not a friend') else: return apiRespond(400, msg='id missing') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
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')
def p_auth(request): if "access_key" in request.POST and request.POST[ "access_key"] == LIVE_ACCESS_KEY: if "mrsid" in request.POST: try: s = Session.objects.get(pk=request.POST['mrsid']) except: return apiRespond(400, msg='mrsid invalid') else: session_data = s.get_decoded() user_id = session_data.get('_auth_user_id') if user_id != None: try: user = User.get_by_id(user_id) except: return apiRespond(400, msg='user not logged in') else: room_id = None if user.room != None: room_id = user.room.id return apiRespond(200, user_id=user.id, room_id=room_id) else: return apiRespond(400, msg='user not logged in') else: return apiRespond(400, msg='mrsid missing') else: return apiRespond(400, msg='access_key invalid')
def main(request): if not request.user.is_authenticated: if "email" in request.POST and "password" in request.POST: try: validate_email(request.POST["email"]) email = request.POST["email"].lower().strip() request.session["prefer_email"] = email try: me = User.objects.get(email=email) return apiRespond(400, msg='Email already registered') except User.DoesNotExist: try: validate_password(request.POST["password"]) pwd = request.POST["password"] user = User.objects.create_user(email, password=pwd) user.save() login(request, user) return apiRespond(200, msg='Account created') except ValidationError: return apiRespond(400, msg='Invalid password format') except ValidationError: return apiRespond(400, msg='Invalid email') else: return apiRespond(400, msg='Incomplete data') else: # user is already logged in, redirect to root return apiRespond(400, msg='Already logged in')
def main(request): if request.user.is_authenticated: if "track_ids[]" in request.POST: tracks = [] track_ids = request.POST.getlist('track_ids[]') for track_id in track_ids: try: track = Track.get_by_id(track_id) except: pass else: tracks.append(track) if len(tracks): room = request.user.create_room(tracks) return apiRespond(201, **room.get_state_obj()) else: return apiRespond(400, msg='all track_ids invalid') else: return apiRespond(400, msg='track_ids missing') else: # user is already logged in, redirect to root return apiRespond(401, msg='User not logged in')
def main(request): if not request.user.is_authenticated: try: validate_email(request.POST["email"]) request.session["prefer_email"] = request.POST["email"].lower().strip() except ValidationError: pass if "email" in request.POST and "password" in request.POST: user = authenticate( email=request.POST['email'], password=request.POST['password']) if user is not None: login(request, user) return apiRespond(200) # A backend authenticated the credentials else: return apiRespond(400, msg='Invalid email or password') # No backend authenticated the credentials else: return apiRespond(400, msg='Incomplete data') else: # user is already logged in, redirect to root return apiRespond(300, msg='Already logged in')