def feedlist(request): '''Fragment for the feed list.''' tags = UserFeed.userfeed_tags(request.user) untagged_feeds = UserFeed.objects.filter(user=request.user).exclude(tags__in=tags).order_by('feed__title') context = { 'tags': tags, 'untagged_feeds': untagged_feeds } return render_to_response( 'raven/feedlist.html', context, context_instance=RequestContext(request))
def test_userfeed_tags(self): bob = User.objects.create_user("bob", "*****@*****.**", password="******") bob.save() bob_feed = Feed.create_and_subscribe("Paul Hummer", "http://www.paulhummer.org/rss", None, bob) bob_userfeed = UserFeed.objects.get(user=bob, feed=bob_feed) bob_userfeed.tags.add("linux", "nerd") bob_userfeed.save() mark = User.objects.create_user("mark", "*****@*****.**", password="******") mark.save() mark_feed = Feed.create_and_subscribe("Paul Hummer", "http://www.paulhummer.org/rss1", None, mark) mark_userfeed = UserFeed.objects.get(user=mark, feed=mark_feed) mark_userfeed.tags.add("linux") mark_userfeed.save() tags = UserFeed.userfeed_tags(bob) self.assertEqual(tags.count(), 2) self.assertEqual([tag.name for tag in tags.all()], ["linux", "nerd"])
def leftside(request): '''Left side!''' unread_count = UserFeedItem.objects.filter(read=False, user=request.user).count() tags = UserFeed.userfeed_tags(request.user) untagged_feeds = UserFeed.objects.filter(user=request.user).exclude(tags__in=tags).order_by('feed__title') untagged_unread_count = 0 for userfeed in untagged_feeds: untagged_unread_count = untagged_unread_count + userfeed.unread_count() context = { 'tags': tags, 'unread_count': unread_count, 'untagged_feeds': untagged_feeds, 'untagged_unread_count': untagged_unread_count } return render_to_response( 'raven/leftside.html', context, context_instance=RequestContext(request))