--- a/app/django/contrib/comments/feeds.py Tue Oct 14 12:36:55 2008 +0000
+++ b/app/django/contrib/comments/feeds.py Tue Oct 14 16:00:59 2008 +0000
@@ -1,12 +1,10 @@
from django.conf import settings
-from django.contrib.comments.models import Comment, FreeComment
from django.contrib.syndication.feeds import Feed
from django.contrib.sites.models import Site
+from django.contrib import comments
-class LatestFreeCommentsFeed(Feed):
- """Feed of latest free comments on the current site."""
-
- comments_class = FreeComment
+class LatestCommentFeed(Feed):
+ """Feed of latest comments on the current site."""
def title(self):
if not hasattr(self, '_site'):
@@ -23,22 +21,17 @@
self._site = Site.objects.get_current()
return u"Latest comments on %s" % self._site.name
- def get_query_set(self):
- return self.comments_class.objects.filter(site__pk=settings.SITE_ID, is_public=True)
-
def items(self):
- return self.get_query_set()[:40]
-
-class LatestCommentsFeed(LatestFreeCommentsFeed):
- """Feed of latest comments on the current site."""
-
- comments_class = Comment
-
- def get_query_set(self):
- qs = super(LatestCommentsFeed, self).get_query_set()
- qs = qs.filter(is_removed=False)
- if settings.COMMENTS_BANNED_USERS_GROUP:
- where = ['user_id NOT IN (SELECT user_id FROM auth_users_group WHERE group_id = %s)']
+ qs = comments.get_model().objects.filter(
+ site__pk = settings.SITE_ID,
+ is_public = True,
+ is_removed = False,
+ )
+ if getattr(settings, 'COMMENTS_BANNED_USERS_GROUP', None):
+ where = ['user_id NOT IN (SELECT user_id FROM auth_user_groups WHERE group_id = %s)']
params = [settings.COMMENTS_BANNED_USERS_GROUP]
qs = qs.extra(where=where, params=params)
- return qs
+ return qs.order_by('-submit_date')[:40]
+
+ def item_pubdate(self, item):
+ return item.submit_date