app/django/contrib/comments/feeds.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
--- 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