def post(self, request, format=None): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user, request.pop('session_id')) if check[1]: library = Library.objects.get(pk=request['library_id']) page = request.get('page', 1) amount = request.get('amount', 5) yaps_list = [ yp_order.yap for yp_order in library.library_yap_order.filter( is_active=True).order_by('-order') ][:amount] paginator = Paginator(object_list=yaps_list, per_page=amount, allow_empty_first_page=False) try: yaps = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. return Response({ "valid": False, "message": "Page is not an integer." }) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. return Response({"valid": True, "data": None}) serialized = AbstractYapSerializer(yaps, many=True, data=self.request.DATA, context={'user': user}) return Response({"valid": True, "data": serialized.data}) else: return Response({"valid": False, "message": check[0]})
def post(self, request): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user, session_id=kwargs.pop('session_id')) if check[1]: library = Library.objects.get(pk=kwargs.get('library_id')) if library.user == user: return Response({ "valid": False, "message": "You cannot subscribe your own library." }) response = user.functions.subscribe_library(library=library) if isinstance(response, str): return Response({"valid": False, "message": response}) else: # subscribed_user = User.objects.get(pk=kwargs.get('user_subscribing_id')) # subscribe_user = SubscribeUser.objects.get(user=user,subscribed_user=subscribed_user,is_active=True) # if follower_request.is_accepted == True: # if user.settings.facebook_connection_flag == True: # if 'facebook_shared_flag' in kwargs: # if kwargs.get('facebook_shared_flag') == True: # facebook_shared_story = facebook.share_new_following_story_on_facebook(user=user,user_followed=user_requested,facebook_access_token=kwargs.get('facebook_access_token')) return Response({"valid": True, "data": None}) else: return Response({"valid": False, "message": check[0]})
def post(self,request): """example json """ kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) if kwargs['obj_type'] == "yap": obj = Yap.objects.get(pk=kwargs['obj']) else: obj = Reyap.objects.get(pk=kwargs['obj']) if kwargs.get('facebook_shared_flag') == True: if kwargs.get('facebook_access_token'): if user.settings.facebook_connection_flag == True: facebook_access_token = kwargs.pop('facebook_access_token') else: return Response({"valid":False,"message":"User hasn't connected their account to facebook."}) else: return Response({"valid":False,"message":"Yap cannot be shared to facebook without an facebook_access_token."}) response = user.functions.like(obj,listen,kwargs['time_clicked']) if isinstance(response,dict): return Response(response) else: if kwargs.get('facebook_shared_flag') == True and user.settings.facebook_connection_flag == True: if kwargs['obj_type'] == "yap": f = facebook.share_like_story_on_facebook(user=user,facebook_access_token=facebook_access_token,yap=obj) elif kwargs['obj_type'] == "reyap": f = facebook.share_like_story_on_facebook(user=user,facebook_access_token=facebook_access_token,reyap=obj) return Response({"valid":True}) else: return Response({"valid":True,"message":check[0]})
def post(self, request): kwargs = {k: v for k, v in request.DATA.iteritems()} print kwargs user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user, session_id=kwargs.pop('session_id')) if check[1]: title = kwargs.get('title') description = kwargs.get('description') picture_flag = kwargs.get('picture_flag') if picture_flag == True: picture_path = kwargs.get('picture_path') picture_cropped_flag = kwargs.get('picture_cropped_flag') if picture_cropped_flag == True: picture_cropped_path = kwargs.get('picture_cropped_path') library = create_library( user=user, title=title, description=description, picture_flag=picture_flag, picture_path=picture_path, picture_cropped_flag=picture_cropped_path, picture_cropped_path=picture_cropped_path) return Response({ "valid": True, "message": "Library has successfully been created.", "library_id": library.pk }) else: return Response(check[0])
def post(self, request, **kwargs): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user, session_id=request.pop('session_id')) obj = request['obj'] obj_type = request['obj_type'] if check[1]: if obj_type == "yap": try: result = Yap.objects.get(pk=obj, is_active=True) except ObjectDoesNotExist: return Response({ 'valid': False, 'message': 'This yap does not exist.' }) elif obj_type == "reyap": try: result = Reyap.objects.get(pk=obj, is_active=True) except ObjectDoesNotExist: return Response({ 'valid': False, 'message': 'This reyap does not exist.' }) serialized = PushNotificationObjectSerializer( result, data=self.request.DATA, context={'user': user}) return Response(serialized.data) else: return Response(check[0])
def post(self,request,format=None): request = {k:v for k,v in request.DATA.iteritems()} a = timezone.now() user = User.objects.get(pk=request['user_id']) if request['profile_user_id']: profile_user = User.objects.get(pk=request['profile_user_id']) else: profile_user = user check = check_session(user=user,session_id=request.pop('session_id')) if check[1]: after_yap = request.get("after_yap",None) after_reyap = request.get("after_reyap",None) after = request.get("after",None) stream_type = request['stream_type'] if stream_type == "posts": stream = profile_user.functions.load_profile_posts(request['amount'],after_yap=after_yap,after_reyap=after_reyap) serialized = ProfilePostStreamSerializer(stream,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) elif stream_type == "likes": stream = profile_user.functions.load_profile_likes(request['amount'],after=after) serialized = ProfileLikeStreamSerializer(stream,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) elif stream_type == "listens": if profile_user.profile.listen_stream_public == True or user == profile_user: stream = profile_user.functions.load_profile_listens(request['amount'],after=after) serialized = ProfileListenStreamSerializer(stream,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) else: return Response({"Valid":False, "Message":"This user's listen stream is private."}) else: stream = Yap.objects.none() else: return Response(check[0])
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user,session_id=request.pop('session_id')) obj = request['obj'] obj_type = request['obj_type'] if check[1]: if obj_type == "yap": try: obj = Yap.objects.get(pk=obj,is_active=True) except ObjectDoesNotExist: return Response({'valid':False,'message':'This yap does not exist.'}) if 'after' in request: reyap_objects_of_users_that_reyapped_this_object = Reyap.objects.filter(is_active=True,yap=obj,date_created__lt=dateutil.parser.parse(request.get('after'))) else: reyap_objects_of_users_that_reyapped_this_object = Reyap.objects.filter(is_active=True,yap=obj) elif obj_type == "reyap": try: obj = Reyap.objects.get(pk=obj,is_active=True) except ObjectDoesNotExist: return Response({'valid':False,'message':'This reyap does not exist.'}) if 'after' in request: reyap_objects_of_users_that_reyapped_this_object = Reyap.objects.filter(is_active=True,yap=obj.yap,date_created__lt=dateutil.parser.parse(request.get('after'))) else: reyap_objects_of_users_that_reyapped_this_object = Reyap.objects.filter(is_active=True,yap=obj.yap) users_that_reyapped_this_object = sorted(set(reyap_objects_of_users_that_reyapped_this_object),reverse=True,key=attrgetter('date_created'))[:request.get("amount")] serialized = YapDetailsListOfLikersAndReyappers(users_that_reyapped_this_object,many=True,data=self.request.DATA,context={'user':user}) return Response(serialized.data) else: return Response(check[0])
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user,session_id=request.pop('session_id')) obj = request['obj'] obj_type = request['obj_type'] if check[1]: twitter_access_token_key = request.pop('twitter_access_token_key') twitter_access_token_secret = request.pop('twitter_access_token_secret') if obj_type == "yap": try: result = Yap.objects.get(pk=obj,is_active=True) except ObjectDoesNotExist: return Response({'valid':False,'message':'This yap does not exist.'}) twitter_post = twitter.share_yap_or_reyap_on_twitter(user=user,yap=result,twitter_access_token_key=twitter_access_token_key,twitter_access_token_secret=twitter_access_token_secret) return Response({'valid':True,'message':'Yap has successfully been shared on Twitter.'}) elif obj_type == "reyap": try: result = Reyap.objects.get(pk=obj,is_active=True) except ObjectDoesNotExist: return Response({'valid':False,'message':'This reyap does not exist.'}) twitter_post = twitter.share_yap_or_reyap_on_twitter(user=user,reyap=result,twitter_access_token_key=twitter_access_token_key,twitter_access_token_secret=twitter_access_token_secret) return Response({'valid':True,'message':'Reyap has successfully been shared on Twitter.'}) else: return Response(check[0])
def post(self, request, **kwargs): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user, session_id=kwargs.pop('session_id')) if check[1]: if 'twitter_connection_flag' in kwargs: if kwargs.get('twitter_connection_flag') == False: twitter_changes = {} twitter_changes['twitter_connection_flag'] = False twitter_changes['twitter_account_id'] = None twitter_changes['twitter_share_reyap'] = False info1 = UserInfo.objects.get(username=user.username) info2 = info1.modify_account(**twitter_changes) new_settings = user.settings serialized = SettingsSerializer(new_settings, data=self.request.DATA) return Response(serialized.data) else: return Response({ "valid": False, "message": "The twitter_connection_flag must be false to disconnect the Twitter Account." }) else: return Response({ "valid": False, "message": "There must be a twitter_connection_flag sent which must be false to disconnect the Twitter Account." }) else: return Response(check[0])
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user,session_id=kwargs.pop('session_id')) if check[1]: reyap = Reyap.objects.get(pk=kwargs['reyap_id']) response = reyap.delete(is_user_deleted=True) return Response({"valid":True,"message":response})
def post(self,request): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: serialized = StreamMenuSerializer(user,data=self.request.DATA) return Response(serialized.data) else: return Response(check[0])
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user,session_id=request.pop('session_id')) if check[1]: settings = user.profile return Response(EditProfileInfoSerializer(settings).data) else: return Response(check[0])
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: serialized = ExploreScreenStatisticsSerializer(user) return Response(serialized.data) else: return Response(check[0])
def post(self, request, **kwargs): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user, session_id=request.pop('session_id')) if check[1]: settings = user.settings return Response(SettingsSerializer(settings).data) else: return Response(check[0])
def post(self,request,format=None): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=(request['user_id'])) check = check_session(user=user,session_id=request['session_id']) if check[1]: channels = Channel.objects.filter(is_active=True) serialized = YapChannelListSerializer(channels,data=self.request.DATA) return Response(serialized.data) else: return Response(check[0])
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) listen_click = ListenClick.objects.create(user=user,listen=listen,skipped_flag=True,time_clicked=kwargs['time_clicked']) return Response({"valid":True,"message":"success","listen_id":listen.pk}) else: return Response(check[0])
def post(self, request, **kwargs): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user, session_id=request.pop('session_id')) if check[1]: info = UserInfo.objects.get(username=user.username) profile_picture_deleted = info.delete_profile_picture() return Response(profile_picture_deleted) else: return Response(check[0])
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) response = listen.set_time_listened(time_listened=kwargs['time_listened']) return Response({"valid":True,"message":"success","listen_id":listen.pk}) else: return Response(check[0])
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user,session_id=request.pop('session_id')) if check[1]: info = UserInfo.objects.get(username=user.username) profile_picture_deleted = info.delete_profile_picture() return Response(profile_picture_deleted) else: return Response(check[0])
def post(self, request): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user, session_id=kwargs.pop('session_id')) if check[1]: library = Library.objects.get(pk=kwargs['library_id']) response = library.delete(is_user_deleted=False) return Response({"valid": True, "message": response}) else: return Response(check[0])
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: #print user.functions response = user.functions.follow_deny(kwargs['user_requesting_id']) return Response({"valid":True,"message":response}) else: return Response(check[0])
def post(self, request): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user, session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) response = listen.set_time_listened( time_listened=kwargs['time_listened']) return Response({"valid": True, "data": None}) else: return Response({"valid": False, "message": check[0]})
def post(self, request): """example json """ kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user, session_id=kwargs['session_id']) if check[1]: yap = Yap.objects.get(pk=kwargs['yap_id']) if kwargs.get('longitude'): longitude = kwargs.pop('longitude') if kwargs.get('latitude'): latitude = kwargs.pop('latitude') if kwargs.get('facebook_shared_flag') == True: if kwargs.get('facebook_access_token'): if user.settings.facebook_connection_flag == True: facebook_access_token = kwargs.pop( 'facebook_access_token') else: return Response({ "valid": False, "message": "User hasn't connected their account to facebook." }) else: return Response({ "valid": False, "message": "Yap cannot be shared to facebook without an facebook_access_token." }) if kwargs.get('longitude') and kwargs.get('latitude'): response = user.functions.listen(yap=yap, longitude=longitude, latitude=latitude) else: response = user.functions.listen(yap) if isinstance(response, dict): return Response(response) else: if kwargs.get( 'facebook_shared_flag' ) == True and user.settings.facebook_connection_flag == True: f1 = facebook.share_listen_story_on_facebook( user=user, facebook_access_token=facebook_access_token, yap=yap) return Response({ "valid": True, "message": "success", "Listen_id": response.pk }) else: return Response(check[0])
def post(self,request,format=None): kwargs = {k:v for k,v in request.DATA.iteritems()} print kwargs user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user,kwargs.pop('session_id')) if check[1]: kwargs['user'] = user kwargs['reported_general_flag'] = True Report.objects.create(**kwargs) return Response ({"valid":True,"Message":"General report has been reported."}) else: return Response(check[0])
def post(self, request, format=None): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user, request.pop('session_id')) if check[1]: profile_user = User.objects.get(pk=request['profile_user_id']) serialized = UserSerializer(profile_user, data=self.request.DATA, context={'user': user}) return Response({"valid": True, "data": serialized.data}) else: return Response({"valid": False, "message": check[0]})
def post(self,request): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: notifications_read = request['notifications_read'] for notification_read in notifications_read: notification_read = Notification.objects.get(pk=notification_read) notification_read1 = notification_read.read() return Response({"valid":True,"message":"Notifications have been viewed."}) else: return Response(check[0])
def post(self,request,format=None): request = {k:v for k,v in request.DATA.iteritems()} print request user = User.objects.get(pk=request['user_id']) check = check_session(user,request.pop('session_id')) if check[1]: profile_user = User.objects.get(pk=request['profile_user_id']) profile = profile_user.profile serialized = ProfileInfoSerializer(profile,data=self.request.DATA,context={'user':user}) return Response(serialized.data) else: return Response(check[0])
def post(self, request, format=None): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user, request.pop('session_id')) if check[1]: dashboard = Dashboard.objects.get(user=user, is_active=True) if 'page' in request: page = request.get('page') amount = request.get('amount') minutes = 2880 time = datetime.datetime.now() - datetime.timedelta( minutes=minutes) yaps = Yap.objects.filter(is_active=True, date_created__gte=time) libraries = Library.objects.filter(yaps__in=yaps, is_active=True) if self.user.listens.filter(is_active=True).exists() == True: key = listening_score_for_libraries reverse = True else: key = lambda *args: random.random() reverse = False explore_top_libraries = sorted(set(libraries), key=key, reverse=reverse)[:30] paginator = Paginator(object_list=explore_top_libraries, per_page=amount, allow_empty_first_page=False) try: dashboard_libraries_explored = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. return Response({ "valid": False, "message": "Page is not an integer." }) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. return Response({"valid": True, "data": None}) else: if dashboard.check_date_calculated_explore_top_libraries( ) == False: dashboard.recalculate_subscribed_top_libraries() dashboard_libraries_explored = dashboard.explore_top_libraries.all( ) serialized = LibraryPreviewSerializer( dashboard_libraries_subscribed, many=True, data=self.request.DATA, context={'user': user}) return Response({"valid": True, "data": serialized.data}) else: return Response({"valid": False, "message": check[0]})
def post(self, request): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user, session_id=kwargs['session_id']) if check[1]: response = user.functions.unsubscribe_library(kwargs['library_id']) if isinstance(response, str): return Response({"valid": False, "message": response}) else: return Response({"valid": True, "data": None}) else: return Response({"valid": False, "message": check[0]})
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user,session_id=kwargs.pop('session_id')) if check[1]: if Question.objects.filter(is_active=True).count() >= 1: question1 = Question.objects.filter(is_active=True)[0] serialized = QuestionSerializer(question1,data=self.request.DATA) return Response(serialized.data) else: return Response(None) else: return Response(check[0])
def post(self,request,format=None): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs.pop('session_id')) if check[1]: if Answer.objects.filter(user=user,is_active=True).exists() == True: recommended_list = recommended_users_to_follow_according_to_questionaire(user=user) else: recommended_list = [recommended.user for recommended in Recommended.objects.filter(is_active=True)][:25] serialized = RecommendedSerializer(recommended_list,many=True,context={'user':user}) return Response(serialized.data) else: return Response(check[0])
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user,session_id=request.pop('session_id')) if check[1]: if 'after' in request: list_of_following_and_followers = user.functions.list_of_following_and_followers(amount=request['amount'],after=request['after']) else: list_of_following_and_followers = user.functions.list_of_following_and_followers(amount=request['amount']) serialized = ListOfFollowingAndFollowersSerializer(list_of_following_and_followers,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) else: return Response(check[0])
def post(self, request, format=None): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user, request.pop('session_id')) if check[1]: library = Library.objects.get(pk=request.get('library_id')) serialized = LibraryPreviewSerializer(library, many=False, data=self.request.DATA, context={'user': user}) return Response({"valid": True, "data": serialized.data}) else: return Response({"valid": False, "message": check[0]})
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user,session_id=request.pop('session_id')) profile_user = User.objects.get(pk=request['profile_user_id']) if check[1]: if 'after' in request: list_of_following = profile_user.functions.list_of_following(queryset=True,amount=request['amount'],after=request['after']) else: list_of_following = profile_user.functions.list_of_following(queryset=True,amount=request['amount']) serialized = ListOfFollowingSerializer(list_of_following,data=self.request.DATA,many=True,context={'profile_user':profile_user}) return Response(serialized.data) else: return Response({"Valid":False,"Message":check[0]})
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) try: hashtag_clicked=Hashtag.objects.get(hashtag_name=kwargs['hashtag_clicked']) except ObjectDoesNotExist: return Response({"valid":False,"message":"This hashtag doesn't exist."}) listen_click = ListenClick.objects.create(user=user,listen=listen,hashtag_clicked_flag=True,hashtag_clicked=hashtag_clicked,time_clicked=kwargs['time_clicked']) return Response({"valid":True,"message":"success","listen_id":listen.pk}) else: return Response(check[0])
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user,session_id=request['session_id']) if check[1]: try: session = SessionVerification.objects.get(pk=request['session_id']) except ObjectDoesNotExist: return Response({"valid":False,"message":"You haven't signed in and set your device token yet."}) session.sign_out_device() return Response({"valid":True}) else: return Response(check[0])
def post(self, request, **kwargs): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user, session_id=request.pop('session_id')) obj = request['obj'] obj_type = request['obj_type'] if check[1]: twitter_access_token_key = request.pop('twitter_access_token_key') twitter_access_token_secret = request.pop( 'twitter_access_token_secret') if obj_type == "yap": try: result = Yap.objects.get(pk=obj, is_active=True) except ObjectDoesNotExist: return Response({ 'valid': False, 'message': 'This yap does not exist.' }) twitter_post = twitter.share_yap_or_reyap_on_twitter( user=user, yap=result, twitter_access_token_key=twitter_access_token_key, twitter_access_token_secret=twitter_access_token_secret) return Response({ 'valid': True, 'message': 'Yap has successfully been shared on Twitter.' }) elif obj_type == "reyap": try: result = Reyap.objects.get(pk=obj, is_active=True) except ObjectDoesNotExist: return Response({ 'valid': False, 'message': 'This reyap does not exist.' }) twitter_post = twitter.share_yap_or_reyap_on_twitter( user=user, reyap=result, twitter_access_token_key=twitter_access_token_key, twitter_access_token_secret=twitter_access_token_secret) return Response({ 'valid': True, 'message': 'Reyap has successfully been shared on Twitter.' }) else: return Response(check[0])
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) try: user_handle_clicked=User.objects.get(username=kwargs['user_handle_clicked']) except ObjectDoesNotExist: return Response({"valid":False,"message":"There is no User with this user handle."}) listen_click = ListenClick.objects.create(user=user,listen=listen,user_handle_clicked_flag=True,user_handle_clicked=user_handle_clicked,time_clicked=kwargs['time_clicked']) return Response({"valid":True,"message":"success","listen_id":listen.pk}) else: return Response(check[0])
def post(self, request): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user, session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) listen_click = ListenClick.objects.create( user=user, listen=listen, skipped_flag=True, time_clicked=kwargs['time_clicked']) return Response({"valid": True, "data": None}) else: return Response({"valid": False, "message": check[0]})
def post(self, request, format=None): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user, request.pop('session_id')) if check[1]: # start = datetime.datetime.now() dashboard = Dashboard.objects.get(user=user, is_active=True) if 'page' in request: page = request.get('page') amount = request.get('amount') before_for_loop_1 = datetime.datetime.now() # print "before for loop_1 " + str(before_for_loop_1 - start) subscribed_users = [ sub_user.subscribed_user for sub_user in SubscribeUser.objects.filter(user=user, is_active=True) ] after_subscribed_users = datetime.datetime.now() # print "after_for_loop_1 " + str(after_subscribed_users - before_for_loop_1) paginator = Paginator(object_list=subscribed_users, per_page=amount, allow_empty_first_page=False) try: dashboard_users_subscribed = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. return Response({ "valid": False, "message": "Page is not an integer." }) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. return Response({"valid": True, "data": None}) else: if dashboard.check_date_calculated_subscribed_most_listened_users( ) == False: dashboard.recalculate_subscribed_most_listened_users() after_subscribed_users = datetime.datetime.now() # print "after_for_loop_1" + str(after_subscribed_users - start) dashboard_users_subscribed = dashboard.subscribed_most_listened_users.all( ) serialized = UserSerializer(dashboard_users_subscribed, many=True, data=self.request.DATA, context={'user': user}) end = datetime.datetime.now() # print "After serializerd " + str(end-after_subscribed_users) return Response({"valid": True, "data": serialized.data}) else: return Response({"valid": False, "message": check[0]})
def post(self,request,format=None): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: if 'after' in request: stream = user.functions.load_stream(request['amount'],request['after']) serialized = PostSerializer(stream,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) else: stream = user.functions.load_stream(request['amount'])#,request['after']) serialized = PostSerializer(stream,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) else: return Response(check[0])
def post(self,request): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: channel_id = request.get('channel_id') if 'after' in request: yaps = Yap.objects.filter(is_active=True,is_private=False,pk__lt=request['after'],channel__channel_id=channel_id)[:request.get('amount')] else: yaps = Yap.objects.filter(is_active=True,is_private=False,channel__channel_id=channel_id)[:request.get('amount')] final_yaps = sorted(set(yaps),key=attrgetter('date_created'), reverse=True) serialized = StreamYapSerializer(final_yaps,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) else: return Response(check[0])
def post(self,request,format=None): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: minutes = 2880 time = datetime.datetime.now() - datetime.timedelta(minutes=minutes) if 'after' in request: yaps = Yap.objects.filter(is_active=True,is_private=False,pk__lt=request['after'],date_created__gte=time)[:request.get('amount')] else: yaps = Yap.objects.filter(is_active=True,is_private=False,date_created__gte=time)[:request.get('amount')] final_yaps = sorted(set(yaps),key=yap_trending_score, reverse=True) serialized = StreamYapSerializer(final_yaps,data=self.request.DATA,many=True,context={'user':user}) return Response(serialized.data) else: return Response(check[0])
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user,session_id=kwargs.pop('session_id')) if check[1]: response = user.functions.follow_request(kwargs['user_requested_id']) user_requested = User.objects.get(pk=kwargs.get('user_requested_id')) follower_request = FollowerRequest.objects.get(user=user,user_requested=user_requested,is_active=True) if follower_request.is_accepted == True: if user.settings.facebook_connection_flag == True: if 'facebook_shared_flag' in kwargs: if kwargs.get('facebook_shared_flag') == True: facebook_shared_story = facebook.share_new_following_story_on_facebook(user=user,user_followed=user_requested,facebook_access_token=kwargs.get('facebook_access_token')) return Response({"valid":True,"message":response}) else: return Response(check[0])
def post(self,request): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user,session_id=kwargs.pop('session_id')) if check[1]: if "question_id" in kwargs: try: question = Question.objects.get(pk=kwargs.get("question_id")) except ObjectDoesNotExist: return Response(None) serialized = QuestionSerializer(question,data=self.request.DATA) return Response(serialized.data) else: return Response({"valid":False,"messsage":"For this request you must request using a question_id."}) else: return Response(check[0])
def post(self, request, **kwargs): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request.pop('user_id')) check = check_session(user=user, session_id=request['session_id']) if check[1]: try: session = Session.objects.get(pk=request['session_id']) except ObjectDoesNotExist: return Response({ "valid": False, "message": "This session doesn't exist." }) session.sign_out_device() return Response({"valid": True}) else: return Response(check[0])
def post(self,request,format=None): request = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: minutes = 2880 amount = 12 time = datetime.datetime.now() - datetime.timedelta(minutes=minutes) yaps = Yap.objects.filter(hashtags_flag=True,is_active=True,is_private=False,date_created__gte=time) hashtags_list = Hashtag.objects.filter(yaps__in=yaps,is_blocked=False) hashtags = sorted(set(hashtags_list),key=hashtag_trending_score,reverse=True)[:amount] if isinstance(hashtags,str): return Response(None) else: serialized = HashtagSerializer(hashtags,data=self.request.DATA,many=True) return Response(serialized.data) else: return Response(check[0])
def post(self,request): """example json """ kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) if kwargs['obj_type'] == "yap": o = Yap.objects.get(pk=kwargs['obj']) else: o = Reyap.objects.get(pk=kwargs['obj']) if kwargs.get('facebook_shared_flag') == True: if kwargs.get('facebook_access_token'): if user.settings.facebook_connection_flag == True: facebook_access_token = kwargs.pop('facebook_access_token') else: return Response({"valid":False,"message":"User hasn't connected their account to facebook."}) else: return Response({"valid":False,"message":"Yap cannot be shared to facebook without an facebook_access_token."}) if kwargs.get('twitter_shared_flag') == True: if kwargs.get('twitter_access_token_key'): if kwargs.get('twitter_access_token_secret'): if user.settings.twitter_connection_flag == True: twitter_access_token_key = kwargs.pop('twitter_access_token_key') twitter_access_token_secret = kwargs.pop('twitter_access_token_secret') else: return Response({"valid":False,"message":"User hasn't connected their account to Twitter."}) else: return Response({"valid":False,"message":"Reyap cannot be shared without a twitter_access_token_secret."}) else: return Response({"valid":False,"message":"Reyap cannot be shared without a twitter_access_token_key."}) response = user.functions.reyap(o,listen,kwargs['time_clicked']) if isinstance(response,dict): return Response({"valid":False,"message":response}) else: if kwargs.get('facebook_shared_flag') == True and user.settings.facebook_connection_flag == True and user.settings.facebook_share_reyap == True: f1 = facebook.share_reyap_on_facebook(user=user,facebook_access_token=facebook_access_token,reyap=response) f2 = facebook.share_reyap_story_on_facebook(user=user,facebook_access_token=facebook_access_token,reyap=response) if kwargs.get('twitter_shared_flag') == True and user.settings.twitter_connection_flag == True and user.settings.twitter_share_reyap == True: t = twitter.share_yap_on_twitter(user=user,yap=yap,twitter_access_token_key=twitter_access_token_key,twitter_access_token_secret=twitter_access_token_secret) return Response({"valid":True,"message":"success","reyap_id":response.pk}) else: return Response(check[0])
def post(self,request,**kwargs): kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user,session_id=kwargs.pop('session_id')) if check[1]: if kwargs.get('user_country_id'): try: user_country = Country.objects.get(pk=kwargs.pop('user_country_id')) except ObjectDoesNotExist: return Response({"valid":False,"message":"The country you have selected doesn't exist."}) kwargs['user_country'] = user_country if kwargs.get('user_us_state_id') and user_country.country_name == "United States": try: user_us_state = USState.objects.get(pk=kwargs.pop('user_us_state_id')) except ObjectDoesNotExist: return Response({"valid":False,"message":"The US State you have selected doesn't exist."}) kwargs['user_us_state'] = user_us_state if kwargs.get('user_us_zip_code'): try: user_us_zip_code = USZIPCode.objects.get(us_zip_code=kwargs.pop('user_us_zip_code')) except ObjectDoesNotExist: return Response({"valid":False,"message":"The ZIP Code you have selected doesn't exist."}) kwargs['user_us_zip_code'] = user_us_zip_code if kwargs.get('user_city_name') or kwargs.get('user_city_name') == '': if user_country.country_name == "United States" and kwargs.get('user_us_state',None) and kwargs.get('user_us_zip_code',None): user_city = City.objects.get_or_create(city_name=kwargs.pop('user_city_name'),us_state=user_us_state,country=user_country,us_zip_code=user_us_zip_code,is_active=True) else: user_city = City.objects.get_or_create(city_name=kwargs.pop('user_city_name'),country=user_country,is_active=True) kwargs['user_city'] = user_city[0] info1 = UserInfo.objects.get(username=user.username) info2 = info1.modify_account(**kwargs) if isinstance(info2,str): return Response({"valid":False,"message":info2}) else: if 'facebook_connection_flag' in kwargs: if User.objects.get(username=self.username).settings.facebook_connection_flag == True: facebook_post = facebook.connected_facebook_and_yapster_post_on_facebook(user=user,facebook_access_token=facebook_access_token) if 'twitter_connection_flag' in kwargs: if User.objects.get(username=self.username).settings.twitter_connection_flag == True: facebook_post = twitter.connected_twitter_and_yapster_post_on_twitter(user=user,facebook_access_token=facebook_access_token) return Response({"valid":True,"message":"Your profile has successfully been edited."}) else: return Response(check[0])
def post(self,request): """example json """ kwargs = {k:v for k,v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user,session_id=kwargs['session_id']) if check[1]: listen = Listen.objects.get(pk=kwargs['listen_id']) if kwargs['obj_type'] == "yap": obj = Yap.objects.get(pk=kwargs['obj']) else: obj = Reyap.objects.get(pk=kwargs['obj']) response = user.functions.unreyap(obj,user,listen,kwargs['time_clicked']) if isinstance(response,str): return Response({"valid":False,"message":response}) elif isinstance(response,bool): return Response({"valid":True}) else: return Response(check[0])
def post(self, request): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs['user_id']) check = check_session(user=user, session_id=kwargs['session_id']) if check[1]: user_to_unsubscribe = User.objects.get(pk=kwargs.get('user_2_id')) if user_to_unsubscribe == user: return Response({ "valid": False, "message": "You cannot subscribe or unsubscribe yourself." }) response = user.functions.unsubscribe_user(user_to_unsubscribe) if isinstance(response, str): return Response({"valid": False, "message": response}) else: return Response({"valid": True, "data": None}) else: return Response({"valid": False, "message": check[0]})
def post(self, request, format=None): request = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=request['user_id']) check = check_session(user, request.pop('session_id')) if check[1]: dashboard = Dashboard.objects.get(user=user, is_active=True) if 'page' in request: page = request.get('page') amount = request.get('amount') subscribed_libraries = [ sub_library.subscribed_library for sub_library in SubscribeLibrary.objects.filter(user=user, is_active=True) ] paginator = Paginator(object_list=subscribed_libraries, per_page=amount, allow_empty_first_page=False) try: dashboard_libraries_subscribed = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. return Response({ "valid": False, "message": "Page is not an integer." }) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. return Response({"valid": True, "data": None}) else: if dashboard.check_date_calculated_subscribed_most_listened_libraries( ) == False: dashboard.recalculate_subscribed_most_listened_libraries() dashboard_libraries_subscribed = dashboard.subscribed_most_listened_libraries.all( ) serialized = LibraryPreviewSerializer( dashboard_libraries_subscribed, many=True, data=self.request.DATA, context={'user': user}) return Response({"valid": True, "data": serialized.data}) else: return Response({"valid": False, "message": check[0]})
def post(self,request,**kwargs): request = {k:v for k,v in request.DATA.iteritems()} if 'user_id' in request: user = User.objects.get(pk=request['user_id']) check = check_session(user,request['session_id']) if check[1]: pass else: Response({"valid":False,"message":check[0]}) else: user = None if "search_id" in request: search_id = request['search_id'] search = Search.objects.get(pk=search_id) else: screen = request.get("screen") text = request.get("text") longitude = request.get("longitude", None) latitude = request.get("latitude", None) if screen == "dashboard_subscribed": search = Search.objects.create(user=user,origin_dashboard_subscribed_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "dashboard_subscribed_view_all_users": search = Search.objects.create(user=user,origin_dashboard_subscribed_view_all_users_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "dashboard_subscribed_view_all_libraries": search = Search.objects.create(user=user,origin_dashboard_subscribed_view_all_libraries_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "dashboard_explore": search = Search.objects.create(user=user,origin_dashboard_explore_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "dashboard_explore_view_all_users": search = Search.objects.create(user=user,origin_dashboard_explore_view_all_users_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "dashboard_explore_view_all_libraries": search = Search.objects.create(user=user,origin_dashboard_explore_view_all_libraries_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "dashboard_explore_view_all": search = Search.objects.create(user=user,origin_dashboard_explore_view_all_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "profile": search = Search.objects.create(user=user,origin_profile_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "library_details": search = Search.objects.create(user=user,origin_profile_screen_flag=True,text=text,latitude=latitude,longitude=longitude) elif screen == "web": search = Search.objects.create(user=user,origin_web_screen_flag=True,text=text,latitude=latitude,longitude=longitude) search_type = request.get("search_type","all") page = request.get('page',1) amount = request.get('amount',5) if search_type == "all": serialized = SearchResultsSerializer(search,context={'user':user}) return Response({"valid":True,"search_id":search.pk,"data":serialized.data}) elif search_type == "users": search_results = search.default_user_search() elif search_type == "libraries": search_results = search.default_library_search() elif search_type == "yaps": search_results = search.default_yap_search() paginator = Paginator(object_list=search_results,per_page=amount,allow_empty_first_page=False) try: results = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. return Response({"valid":False,"message":"Page is not an integer."}) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. return Response({"valid":True,"data":None}) if search_type == "users": serialized = UserSerializer(results,many=True,context={'user':user}) elif search_type == "libraries": serialized = LibraryPreviewSerializer(results,many=True,context={'user':user}) elif search_type == "yaps": serialized = AbstractYapSerializer(results,many=True,context={'user':user}) return Response({"valid":True,"search_id":search.pk,"data":serialized.data})
def post(self, request, **kwargs): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user, session_id=kwargs.pop('session_id')) if check[1]: if kwargs.get('country'): country = kwargs.get('country') if country == "": kwargs['country'] = None else: try: country = Country.objects.get( name=kwargs.pop('country')) except ObjectDoesNotExist: return Response({ "valid": False, "message": "The country you have selected doesn't exist." }) kwargs['country'] = country if kwargs.get('us_zip_code'): us_zip_code = kwargs.get('us_zip_code') if us_zip_code == "": kwargs['us_zip_code'] = None else: try: us_zip_code = USZIPCode.objects.get( name=kwargs.pop('us_zip_code')) except ObjectDoesNotExist: return Response({ "valid": False, "message": "The ZIP Code you have selected doesn't exist." }) kwargs['us_zip_code'] = us_zip_code if kwargs.get("us_state") and kwargs.get( 'us_zip_code') and country.country_name == "United States": us_state = kwargs.get("us_state") if us_state == "": kwargs['us_state'] = None else: try: us_state = USState.objects.get( pk=kwargs.pop('us_state_name')) except ObjectDoesNotExist: return Response({ "valid": False, "message": "The US State you have selected doesn't exist." }) kwargs['us_state'] = us_state if kwargs.get('city'): city = kwargs.get('city') if city == "": kwargs['city'] = None else: if country.name == "United States" and kwargs.get( 'us_state', None) and kwargs.get( 'us_zip_code', None): city = City.objects.get_or_create( name=kwargs.pop('city'), us_state=us_state, country=country, us_zip_code=us_zip_code, is_active=True) else: city = City.objects.get_or_create( name=kwargs.pop('city'), country=country, is_active=True) kwargs['city'] = city[0] info1 = UserInfo.objects.get(username=user.username) info2 = info1.modify_account(**kwargs) if isinstance(info2, str): return Response({"valid": False, "message": info2}) else: if 'facebook_connection_flag' in kwargs: if User.objects.get( username=self.username ).settings.facebook_connection_flag == True: facebook_post = facebook.connected_facebook_and_yapster_post_on_facebook( user=user, facebook_access_token=facebook_access_token) if 'twitter_connection_flag' in kwargs: if User.objects.get( username=self.username ).settings.twitter_connection_flag == True: facebook_post = twitter.connected_twitter_and_yapster_post_on_twitter( user=user, facebook_access_token=facebook_access_token) return Response({ "valid": True, "message": "Your profile has successfully been edited." }) else: return Response(check[0])
def post(self, request, **kwargs): kwargs = {k: v for k, v in request.DATA.iteritems()} user = User.objects.get(pk=kwargs.pop('user_id')) check = check_session(user=user, session_id=kwargs.pop('session_id')) if check[1]: if kwargs.get('country_id'): try: country = Country.objects.get(pk=kwargs.pop('country_id')) except ObjectDoesNotExist: return Response({ "valid": False, "message": "The country you have selected doesn't exist." }) kwargs['country'] = country if kwargs.get( 'us_state_id') and country.country_name == "United States": try: us_state = USState.objects.get( pk=kwargs.pop('us_state_id')) except ObjectDoesNotExist: return Response({ "valid": False, "message": "The US State you have selected doesn't exist." }) kwargs['us_state'] = us_state if kwargs.get('us_zip_code'): try: us_zip_code = USZIPCode.objects.get( us_zip_code=kwargs.pop('us_zip_code')) except ObjectDoesNotExist: return Response({ "valid": False, "message": "The ZIP Code you have selected doesn't exist." }) kwargs['us_zip_code'] = us_zip_code if kwargs.get('city_name'): if country.country_name == "United States" and kwargs.get( 'us_state', None) and kwargs.get('us_zip_code', None): city = City.objects.get_or_create( city_name=kwargs.pop('city_name'), us_state=us_state, country=country, us_zip_code=us_zip_code) else: city = City.objects.get_or_create( city_name=kwargs.pop('city_name'), country=country) kwargs['city'] = city[0] if 'facebook_connection_flag' in kwargs: if kwargs.get('facebook_connection_flag') == True: if 'facebook_access_token' in kwargs: facebook_access_token = kwargs.get( 'facebook_access_token') else: kwargs['facebook_connection_flag'] = False kwargs['facebook_account_id'] = None if "facebook_page_connection_flag" not in kwargs: kwargs['facebook_page_connection_flag'] = False kwargs['facebook_page_id'] = None else: kwargs['facebook_connection_flag'] = False kwargs['facebook_account_id'] = None kwargs['facebook_page_connection_flag'] = False kwargs['facebook_page_id'] = None if 'twitter_connection_flag' in kwargs: if kwargs.get('twitter_connection_flag') == True: if 'twitter_access_token_key' in kwargs: if 'twitter_access_token_secret' in kwargs: twitter_access_token_key = kwargs.pop( 'twitter_access_token_key') twitter_access_token_secret = kwargs.pop( 'twitter_access_tHoken_secret') else: return Response({ "valid": False, "message": "There must be both twitter_access_token_key and twitter_access_token_secret to connect and share to Twitter. " }) else: return Response({ "valid": False, "message": "There must be both twitter_access_token_key and twitter_access_token_secret to connect and share to Twitter. " }) else: kwargs['twitter_connection_flag'] = False kwargs['twitter_account_id'] = None info1 = UserInfo.objects.get(username=user.username) info2 = info1.modify_account(**kwargs) new_settings = user.settings serialized = SettingsSerializer(new_settings, data=self.request.DATA) return Response(serialized.data) else: return Response(check[0])