django1/django/contrib/comments/feeds.py

32 lines
1.0 KiB
Python

from django.contrib.syndication.views import Feed
from django.contrib.sites.models import get_current_site
from django.contrib import comments
from django.utils.translation import ugettext as _
class LatestCommentFeed(Feed):
"""Feed of latest comments on the current site."""
def __call__(self, request, *args, **kwargs):
self.site = get_current_site(request)
return super(LatestCommentFeed, self).__call__(request, *args, **kwargs)
def title(self):
return _("%(site_name)s comments") % dict(site_name=self.site.name)
def link(self):
return "http://%s/" % (self.site.domain)
def description(self):
return _("Latest comments on %(site_name)s") % dict(site_name=self.site.name)
def items(self):
qs = comments.get_model().objects.filter(
site__pk=self.site.pk,
is_public=True,
is_removed=False,
)
return qs.order_by('-submit_date')[:40]
def item_pubdate(self, item):
return item.submit_date