SEESenv/web/hgbook/comments/feeds.py
author amit@thunder
Mon, 22 Feb 2010 00:36:03 +0530
changeset 13 ead1752a58a8
parent 2 52d12eb31c30
permissions -rwxr-xr-x
testing

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))