comparison web/hgbook/comments/feeds.py @ 673:ad304b606163

Initial cut at web comment system import
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 10 Mar 2009 21:42:19 -0700
parents
children 88b611f37646
comparison
equal deleted inserted replaced
672:40025381bded 673:ad304b606163
1 from django.core.exceptions import ObjectDoesNotExist
2 from django.utils.feedgenerator import Atom1Feed
3 from django.contrib.syndication.feeds import Feed
4 from hgbook.comments.models import Comment, Element
5
6 class MyAtomFeed(Atom1Feed):
7 title_type = u'html'
8
9 class Comments(Feed):
10 feed_type = MyAtomFeed
11 title = 'Real World Haskell: recent comments'
12 subtitle = ('Recent comments on the text of &#8220;Real World '
13 'Haskell&#8221;, from our readers')
14 link = '/feeds/comments/'
15 author_name = 'Our readers'
16
17 def feedfilter(self, queryset):
18 return queryset.order_by('-date')[:20]
19
20 def items(self):
21 return self.feedfilter(Comment.objects)
22
23 def item_author_name(self, obj):
24 return obj.submitter_name
25
26 def item_pubdate(self, obj):
27 return obj.date
28
29 def get_object(self, bits):
30 if len(bits) == 0:
31 return self.items()
32 elif len(bits) > 1:
33 raise ObjectDoesNotExist
34 return self.feedfilter(Comment.objects.filter(element__chapter=bits[0],
35 hidden=False))