--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/hgbook/comments/feeds.py Mon Jan 25 18:56:45 2010 +0530
@@ -0,0 +1,35 @@
+from django.core.exceptions import ObjectDoesNotExist
+from django.utils.feedgenerator import Atom1Feed
+from django.contrib.syndication.feeds import Feed
+from hgbook.comments.models import Comment, Element
+
+class MyAtomFeed(Atom1Feed):
+ title_type = u'html'
+
+class Comments(Feed):
+ feed_type = MyAtomFeed
+ title = 'Mercurial - The Definitive Guide: recent comments'
+ subtitle = ('Recent comments on the text of “Mercurial: The '
+ 'Definitive Guide”, from our readers')
+ link = '/feeds/comments/'
+ author_name = 'Our readers'
+
+ def feedfilter(self, queryset):
+ return queryset.order_by('-date')[:20]
+
+ def items(self):
+ return self.feedfilter(Comment.objects)
+
+ def item_author_name(self, obj):
+ return obj.submitter_name
+
+ def item_pubdate(self, obj):
+ return obj.date
+
+ def get_object(self, bits):
+ if len(bits) == 0:
+ return self.items()
+ elif len(bits) > 1:
+ raise ObjectDoesNotExist
+ return self.feedfilter(Comment.objects.filter(element__chapter=bits[0],
+ hidden=False))