Django

Code

Changeset 2983

Show
Ignore:
Timestamp:
05/25/06 23:21:36 (2 years ago)
Author:
adrian
Message:

Fixed #1981 -- Fixed bug in feeds.py for comments

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/contrib/comments/feeds.py

    r2809 r2983  
    66 
    77class LatestFreeCommentsFeed(Feed): 
    8     """Feed of latest comments on the current site""
     8    "Feed of latest comments on the current site.
    99 
    1010    comments_class = FreeComment 
     
    2626 
    2727    def items(self): 
    28         return self.comments_class.objects.filter(**self._get_lookup_kwargs()) 
    29  
    30     def _get_lookup_kwargs(self): 
    31         return { 
    32             'site__pk': settings.SITE_ID, 
    33             'is_public__exact': True, 
    34             'limit': 40, 
    35         } 
     28        return self.comments_class.objects.filter(site__pk=settings.SITE_ID, is_public=True)[:40] 
    3629 
    3730class LatestCommentsFeed(LatestFreeCommentsFeed): 
     
    4033    comments_class = Comment 
    4134 
    42     def _get_lookup_kwargs(self): 
    43         kwargs = LatestFreeCommentsFeed._get_lookup_kwargs(self) 
    44         kwargs['is_removed__exact'] = False 
     35    def items(self): 
     36        qs = LatestFreeCommentsFeed.items(self) 
     37        qs = qs.filter(is_removed=False) 
    4538        if settings.COMMENTS_BANNED_USERS_GROUP: 
    46             kwargs['where'] = ['user_id NOT IN (SELECT user_id FROM auth_users_group WHERE group_id = %s)'] 
    47             kwargs['params'] = [COMMENTS_BANNED_USERS_GROUP] 
    48         return kwargs 
     39            where = ['user_id NOT IN (SELECT user_id FROM auth_users_group WHERE group_id = %s)'] 
     40            params = [COMMENTS_BANNED_USERS_GROUP] 
     41            qs = qs.extra(where=where, params=params) 
     42        return qs