SEESenv/web/hgbook/comments/feeds.py
author amit@thunder
Mon, 22 Feb 2010 22:38:51 +0530
changeset 24 10074d1357ff
parent 2 52d12eb31c30
permissions -rwxr-xr-x
Some changes after the horrible problem of writing the same ch9 on all the html pages

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