def activity_notify(self): targets = [feed_manager.get_news_feeds(self.user_id)['flat']] for hashtag in self.parse_hashtags(): targets.append(feed_manager.get_feed('user', 'hash_%s' % hashtag)) for user in self.parse_mentions(): targets.append(feed_manager.get_news_feeds(user.id)['flat']) return targets
def activity_notify(self): targets = [feed_manager.get_news_feeds(self.user_id)["flat"]] for hashtag in self.parse_hashtags(): targets.append(feed_manager.get_feed("user", "hash_%s" % hashtag)) for user in self.parse_mentions(): targets.append(feed_manager.get_news_feeds(user.id)["flat"]) return targets
def get_queryset(self): feeds = feed_manager.get_news_feeds(self.request.user.id) activities = feeds.get('flat').get()['results'] id_list = [a['object'].split(':')[1] for a in activities] id_list = [int(id) for id in id_list] queryset = Catch.objects.filter(id__in=id_list) return queryset
def activivty_notify(self): targets = [] for user in self.parse_mentions(): targets.append(feed_manager.get_news_feeds(user.id)['flat']) for hashtag in self.parse_hashtags(): targets.append(feed_manager.get_feed('hashtag', hashtag)) return targets
def test_get_news_feeds(self): feeds = feed_manager.get_news_feeds(42) self.assertIn('timeline', feeds) self.assertIn('timeline_aggregated', feeds) self.assertEqual(feeds['timeline'].id, 'timeline:42') self.assertEqual(feeds['timeline_aggregated'].id, 'timeline_aggregated:42')
def test_get_news_feeds(self): feeds = feed_manager.get_news_feeds(42) self.assertIn("timeline", feeds) self.assertIn("timeline_aggregated", feeds) self.assertEqual(feeds["timeline"].id, "timeline:42") self.assertEqual(feeds["timeline_aggregated"].id, "timeline_aggregated:42")
def timeline(request): feed = feed_manager.get_news_feeds(reqeust.user.id)['flat'] activities = feed.get(limit=25)['results'] enricher.enrich_activities(activities) context = { 'activities': activities } return render(request, 'timeline.html', context)
def activity_notify(self): targets = [feed_manager.get_news_feeds(self.author_id)['timeline']] # TODO: maybe add this # for hashtag in self.parse_hashtags(): # targets.append(feed_manager.get_feed('user', 'hash_%s' % hashtag)) # for user in self.parse_mentions(): # targets.append(feed_manager.get_news_feeds(user.id)['timeline']) return targets
def timeline(request, username): """Returns the timeline from getstream""" print "USERNAME FOR TIMELINE FEED: %s" % username user_obj = user_model.objects.get(username=username) timeline_feed = feed_manager.get_news_feeds(user_obj.id)['timeline'] activities = timeline_feed.get(limit=25)['results'] enriched_activities = enricher.enrich_activities(activities) serialized_activities = serialize_activities(enriched_activities, request) return Response(serialized_activities, status=status.HTTP_200_OK)
def get(self, request): feeds = feed_manager.get_news_feeds(self.request.user.id) activities = feeds.get('timeline').get()['results'] enriched_activities = enricher.enrich_activities(activities) serializer = get_activity_serializer(enriched_activities, TweetSerializer, None, many=True) return Response(serializer.data)
def feed(request): ''' Items pinned by the people you follow ''' enricher = Enrich(request.user) context = {} feed = feed_manager.get_news_feeds(request.user.id)['timeline'] activities = feed.get(limit=25)['results'] context['activities'] = enricher.enrich_activities(activities) response = render(request, 'core/feed.html', context) return response
def aggregated_feed(request): ''' Items pinned by the people you follow ''' enricher = Enrich(request.user) context = RequestContext(request) feed = feed_manager.get_news_feeds(request.user.id)['aggregated'] activities = feed.get(limit=25)['results'] context['activities'] = enricher.enrich_aggregated_activities(activities) response = render_to_response('core/aggregated_feed.html', context) return response
def aggregated_feed(request): """ Items pinned by the people you follow """ enricher = Enrich(request.user) context = RequestContext(request) feed = feed_manager.get_news_feeds(request.user.id)["aggregated"] activities = feed.get(limit=25)["results"] context["activities"] = enricher.enrich_aggregated_activities(activities) response = render_to_response("core/aggregated_feed.html", context) return response
def get(self, request): feeds = feed_manager.get_news_feeds( request.user.id ) # can change this to pull posts based on some other qualifier activities = feeds.get('timeline').get()['results'] activities = enricher.enrich_activities(activities) activity = random.SystemRandom().choice( activities ) #SystemRandom is for cryptographically secure randomness context = {'activity': activity, 'login_user': request.user} return render(request, 'stream_twitter/singlepost.html', context)
def aggregated_feed(request): ''' Items pinned by the people you follow ''' enricher = Enrich(request.user) context = {} feed = feed_manager.get_news_feeds(request.user.id)['timeline_aggregated'] activities = feed.get(limit=25)['results'] context['activities'] = enricher.enrich_aggregated_activities(activities) response = render(request, 'core/aggregated_feed.html', context) return response
def get(self, request): feeds = feed_manager.get_news_feeds(request.user.id) activities = feeds.get("flat").get()["results"] activities = enricher.enrich_activities(activities) hashtags = Hashtag.objects.order_by("-occurrences") context = { "activities": activities, "form": self.get_form_class(), "login_user": request.user, "hashtags": hashtags, } return render(request, "stream_twitter/timeline.html", context)
class Meta: exclude = set() model = Follow feeds = feed_manager.get_news_feeds(request.user.id) activities = feeds.get('timeline').get()['results'] activities = enricher.enrich_activities(activities) context = { 'activities': activities, 'form': self.get_form_class(), 'login_user': request.user } return render(request, 'mentorearth/timeline.html', context)
def get_context_data(self, form=None): context = super(TimelineView, self).get_context_data() feeds = feed_manager.get_news_feeds(self.request.user.id) activities = feeds.get('timeline').get()['results'] enriched_activities = enricher.enrich_activities(activities) context['activities'] = enriched_activities context['login_user'] = self.request.user context['hashtags'] = Hashtag.objects.order_by('-occurrences') return context
def get(self, request): feeds = feed_manager.get_news_feeds(request.user.id) activities = feeds.get('flat').get()['results'] activities = enricher.enrich_activities(activities) hashtags = Hashtag.objects.order_by('-occurrences') context = { 'activities': activities, 'form': self.get_form_class(), 'login_user': request.user, 'hashtags': hashtags } return render(request, 'stream_twitter/timeline.html', context)
def get(self, request): feeds = feed_manager.get_news_feeds(request.user.id) activities = feeds.get('timeline').get()['results'] activities = enricher.enrich_activities(activities) hashtags = Hashtag.objects.order_by('-occurrences') context = { 'activities': activities, 'form': self.get_form_class(), 'login_user': request.user, 'hashtags': hashtags } return render(request, 'stream_twitter/timeline.html', context)
def user(request, user_name): user = get_object_or_404(User, username=user_name) print(user) print(user.id) if user.groups.filter(name="offender").exists(): feeds = feed_manager.get_news_feeds(user.id) activities = feeds.get("flat").get()["results"] else: user = get_object_or_404(User, username=user_name) feeds = feed_manager.get_user_feed(user.id) activities = feeds.get()["results"] activities = enricher.enrich_activities(activities) context = {"activities": activities, "user": user, "login_user": request.user} return render(request, "stream_twitter/user.html", context)
def activity_notify(self): target_feed = [] # 해당 hashtag(#) 키워드의 피드(e.g. hashtag:패션)에 activity 추가 for keyword in self.parse_hashtags(): target_feed.append(feed_manager.get_feed('hashtag', keyword)) for user in self.parse_mentions(): # mention(@)한 유저의 타임라인 피드에 activity 추가 # get_news_feeds는 기본으로 인자로 받은 user의 1) timeline, 2) timeline_aggregated # 피드를 가져옴 target_feed.append( feed_manager.get_news_feeds(user.id)['timeline']) # mention(@)한 유저의 notification 피드에 activity 추가 target_feed.append(feed_manager.get_notification_feed(user.id)) return target_feed
def post(self, request, format = None): try: if request.META.get('CONTENT_TYPE') == "application/json": if "userid" in request.data and "profileid" in request.data: enricher = Enrich(User.objects.get(pk=request.data['userid'])) context = {} feed = feed_manager.get_news_feeds(request.data['profileid'])['timeline_aggregated'] activities = feed.get(limit=25)['results'] context['activities'] = enricher.enrich_aggregated_activities(activities) return Response({'status':"success",'feed':context}, status=status.HTTP_200_OK) else: return Response({'status':"missing_params"}, status=400) else: return Response(status=status.HTTP_400_BAD_REQUEST) except Exception as e: print(e) return Response({'status':"server_exception",'details':str(e)}, status=501)
def user(request, user_name): user = get_object_or_404(User, username=user_name) print(user) print(user.id) if user.groups.filter(name='offender').exists(): feeds = feed_manager.get_news_feeds(user.id) activities = feeds.get('flat').get()['results'] else: user = get_object_or_404(User, username=user_name) feeds = feed_manager.get_user_feed(user.id) activities = feeds.get()['results'] activities = enricher.enrich_activities(activities) context = { 'activities': activities, 'user': user, 'login_user': request.user } return render(request, 'stream_twitter/user.html', context)
def get(self, request, page=0, format=None): page = self.kwargs['page'] if not page: page_num = 0 else: page_num = int(page) * 24 feeds = feed_manager.get_news_feeds(request.user.id) activities = feeds.get('timeline').get(limit=24, offset=page_num)['results'] activities = enricher.enrich_activities(activities) feed = [] for activity in activities: outfit_instance = activity.__dict__.get('activity_data').get( 'object') if outfit_instance: data = OutfitDetailFeedSerializer(outfit_instance, context={ 'request': request }).data feed.append(data) json_output = feed return Response(json_output, status=status.HTTP_200_OK)
def test_get_news_feeds(self): feeds = feed_manager.get_news_feeds(42) self.assertIn('flat', feeds) self.assertIn('aggregated', feeds) self.assertEqual(feeds['flat'].feed_id, 'flat:42') self.assertEqual(feeds['aggregated'].feed_id, 'aggregated:42')
def test_get_news_feeds(self): feeds = feed_manager.get_news_feeds(42) self.assertIn('flat', feeds) self.assertIn('aggregated', feeds) self.assertEqual(feeds['flat'].id, 'flat:42') self.assertEqual(feeds['aggregated'].id, 'aggregated:42')