Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

magic-removal: fixed #1637 - django.contrib.comments still uses old m…

…ethods. Thanks Dave St.Germain and ubernostrum.

git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2722 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit dbf2463cd62002919671e12325f02b2c8b741196 1 parent c3b7f4b
Joseph Kocherhans authored April 21, 2006
2  django/contrib/comments/feeds.py
@@ -25,7 +25,7 @@ def description(self):
25 25
         return "Latest comments on %s" % self._site.name
26 26
 
27 27
     def items(self):
28  
-        return self.comments_class.objects.get_list(**self._get_lookup_kwargs())
  28
+        return self.comments_class.objects.filter(**self._get_lookup_kwargs())
29 29
 
30 30
     def _get_lookup_kwargs(self):
31 31
         return {
20  django/contrib/comments/models.py
@@ -48,9 +48,9 @@ def get_list_with_karma(self, **kwargs):
48 48
         _karma_total_good and _karma_total_bad filled.
49 49
         """
50 50
         kwargs.setdefault('select', {})
51  
-        kwargs['select']['_karma_total_good'] = 'SELECT COUNT(*) FROM comments_karma WHERE comments_karma.comment_id=comments.id AND score=1'
52  
-        kwargs['select']['_karma_total_bad'] = 'SELECT COUNT(*) FROM comments_karma WHERE comments_karma.comment_id=comments.id AND score=-1'
53  
-        return self.get_list(**kwargs)
  51
+        kwargs['select']['_karma_total_good'] = 'SELECT COUNT(*) FROM comments_karmascore WHERE comments_karmascore.comment_id=comments.id AND score=1'
  52
+        kwargs['select']['_karma_total_bad'] = 'SELECT COUNT(*) FROM comments_karmascore WHERE comments_karmascore.comment_id=comments.id AND score=-1'
  53
+        return self.filter(**kwargs)
54 54
 
55 55
     def user_is_moderator(self, user):
56 56
         if user.is_superuser:
@@ -102,7 +102,7 @@ class Admin:
102 102
         search_fields = ('comment', 'user__username')
103 103
 
104 104
     def __repr__(self):
105  
-        return "%s: %s..." % (self.get_user().username, self.comment[:100])
  105
+        return "%s: %s..." % (self.user.username, self.comment[:100])
106 106
 
107 107
     def get_absolute_url(self):
108 108
         return self.get_content_object().get_absolute_url() + "#c" + str(self.id)
@@ -156,7 +156,7 @@ def get_karma_total(self):
156 156
 
157 157
     def get_as_text(self):
158 158
         return _('Posted by %(user)s at %(date)s\n\n%(comment)s\n\nhttp://%(domain)s%(url)s') % \
159  
-            {'user': self.get_user().username, 'date': self.submit_date,
  159
+            {'user': self.user.username, 'date': self.submit_date,
160 160
             'comment': self.comment, 'domain': self.get_site().domain, 'url': self.get_absolute_url()}
161 161
 
162 162
 class FreeComment(models.Model):
@@ -208,7 +208,7 @@ def get_content_object(self):
208 208
 class KarmaScoreManager(models.Manager):
209 209
     def vote(self, user_id, comment_id, score):
210 210
         try:
211  
-            karma = self.get_object(comment__id__exact=comment_id, user__id__exact=user_id)
  211
+            karma = self.objects.get(comment__id__exact=comment_id, user__id__exact=user_id)
212 212
         except self.model.DoesNotExist:
213 213
             karma = self.model(None, user_id, comment_id, score, datetime.datetime.now())
214 214
             karma.save()
@@ -238,7 +238,7 @@ class Meta:
238 238
         unique_together = (('user', 'comment'),)
239 239
 
240 240
     def __repr__(self):
241  
-        return _("%(score)d rating by %(user)s") % {'score': self.score, 'user': self.get_user()}
  241
+        return _("%(score)d rating by %(user)s") % {'score': self.score, 'user': self.user}
242 242
 
243 243
 class UserFlagManager(models.Manager):
244 244
     def flag(self, comment, user):
@@ -250,7 +250,7 @@ def flag(self, comment, user):
250 250
         if int(comment.user_id) == int(user.id):
251 251
             return # A user can't flag his own comment. Fail silently.
252 252
         try:
253  
-            f = self.get_object(user__id__exact=user.id, comment__id__exact=comment.id)
  253
+            f = self.objects.get(user__id__exact=user.id, comment__id__exact=comment.id)
254 254
         except self.model.DoesNotExist:
255 255
             from django.core.mail import mail_managers
256 256
             f = self.model(None, user.id, comment.id, None)
@@ -269,7 +269,7 @@ class Meta:
269 269
         unique_together = (('user', 'comment'),)
270 270
 
271 271
     def __repr__(self):
272  
-        return _("Flag by %r") % self.get_user()
  272
+        return _("Flag by %r") % self.user
273 273
 
274 274
 class ModeratorDeletion(models.Model):
275 275
     user = models.ForeignKey(User, verbose_name='moderator')
@@ -281,4 +281,4 @@ class Meta:
281 281
         unique_together = (('user', 'comment'),)
282 282
 
283 283
     def __repr__(self):
284  
-        return _("Moderator deletion by %r") % self.get_user()
  284
+        return _("Moderator deletion by %r") % self.user
32  django/contrib/comments/templatetags/comments.py
@@ -2,15 +2,15 @@
2 2
 from django.contrib.comments.models import PHOTOS_REQUIRED, PHOTOS_OPTIONAL, RATINGS_REQUIRED, RATINGS_OPTIONAL, IS_PUBLIC
3 3
 from django.contrib.comments.models import MIN_PHOTO_DIMENSION, MAX_PHOTO_DIMENSION
4 4
 from django import template
5  
-from django.core.template import loader
  5
+from django.template import loader
6 6
 from django.core.exceptions import ObjectDoesNotExist
7 7
 from django.contrib.contenttypes.models import ContentType
8 8
 import re
9 9
 
10 10
 register = template.Library()
11 11
 
12  
-COMMENT_FORM = 'comments/form'
13  
-FREE_COMMENT_FORM = 'comments/freeform'
  12
+COMMENT_FORM = 'comments/form.html'
  13
+FREE_COMMENT_FORM = 'comments/freeform.html'
14 14
 
15 15
 class CommentFormNode(template.Node):
16 16
     def __init__(self, content_type, obj_id_lookup_var, obj_id, free,
@@ -77,12 +77,12 @@ def __init__(self, package, module, context_var_name, obj_id, var_name, free):
77 77
 
78 78
     def render(self, context):
79 79
         from django.conf import settings
80  
-        get_count_function = self.free and FreeComment.objects.get_count or Comment.objects.get_count
  80
+        manager = self.free and FreeComment.objects or Comment.objects
81 81
         if self.context_var_name is not None:
82 82
             self.obj_id = template.resolve_variable(self.context_var_name, context)
83  
-        comment_count = get_count_function(object_id__exact=self.obj_id,
84  
-            content_type__package__label__exact=self.package,
85  
-            content_type__python_module_name__exact=self.module, site__id__exact=settings.SITE_ID)
  83
+        comment_count = manager.filter(object_id__exact=self.obj_id,
  84
+            content_type__app_label__exact=self.package,
  85
+            content_type__model__exact=self.module, site__id__exact=settings.SITE_ID).count()
86 86
         context[self.var_name] = comment_count
87 87
         return ''
88 88
 
@@ -96,7 +96,7 @@ def __init__(self, package, module, context_var_name, obj_id, var_name, free, or
96 96
 
97 97
     def render(self, context):
98 98
         from django.conf import settings
99  
-        get_list_function = self.free and FreeComment.objects.get_list or Comment.objects.get_list_with_karma
  99
+        get_list_function = self.free and FreeComment.objects.filter or Comment.objects.get_list_with_karma
100 100
         if self.context_var_name is not None:
101 101
             try:
102 102
                 self.obj_id = template.resolve_variable(self.context_var_name, context)
@@ -104,16 +104,14 @@ def render(self, context):
104 104
                 return ''
105 105
         kwargs = {
106 106
             'object_id__exact': self.obj_id,
107  
-            'content_type__package__label__exact': self.package,
108  
-            'content_type__python_module_name__exact': self.module,
  107
+            'content_type__app_label__exact': self.package,
  108
+            'content_type__model__exact': self.module,
109 109
             'site__id__exact': settings.SITE_ID,
110  
-            'select_related': True,
111  
-            'order_by': (self.ordering + 'submit_date',),
112 110
         }
113 111
         kwargs.update(self.extra_kwargs)
114 112
         if not self.free and settings.COMMENTS_BANNED_USERS_GROUP:
115  
-            kwargs['select'] = {'is_hidden': 'user_id IN (SELECT user_id FROM auth_users_groups WHERE group_id = %s)' % settings.COMMENTS_BANNED_USERS_GROUP}
116  
-        comment_list = get_list_function(**kwargs)
  113
+            kwargs['select'] = {'is_hidden': 'user_id IN (SELECT user_id FROM auth_user_groups WHERE group_id = %s)' % settings.COMMENTS_BANNED_USERS_GROUP}
  114
+        comment_list = get_list_function(**kwargs).order_by(self.ordering + 'submit_date').select_related()
117 115
 
118 116
         if not self.free:
119 117
             if context.has_key('user') and not context['user'].is_anonymous():
@@ -157,7 +155,7 @@ def __call__(self, parser, token):
157 155
         except ValueError: # unpack list of wrong size
158 156
             raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
159 157
         try:
160  
-            content_type = ContentType.objects.get_object(package__label__exact=package, python_module_name__exact=module)
  158
+            content_type = ContentType.objects.get(app_label__exact=package, model__exact=module)
161 159
         except ContentType.DoesNotExist:
162 160
             raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
163 161
         obj_id_lookup_var, obj_id = None, None
@@ -237,7 +235,7 @@ def __call__(self, parser, token):
237 235
         except ValueError: # unpack list of wrong size
238 236
             raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
239 237
         try:
240  
-            content_type = ContentType.objects.get_object(package__label__exact=package, python_module_name__exact=module)
  238
+            content_type = ContentType.objects.get(app_label__exact=package, model__exact=module)
241 239
         except ContentType.DoesNotExist:
242 240
             raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
243 241
         var_name, obj_id = None, None
@@ -292,7 +290,7 @@ def __call__(self, parser, token):
292 290
         except ValueError: # unpack list of wrong size
293 291
             raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
294 292
         try:
295  
-            content_type = ContentType.objects.get_object(package__label__exact=package, python_module_name__exact=module)
  293
+            content_type = ContentType.objects.get(app_label__exact=package,model__exact=module)
296 294
         except ContentType.DoesNotExist:
297 295
             raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
298 296
         var_name, obj_id = None, None
10  django/contrib/comments/views/comments.py
@@ -90,7 +90,7 @@ def get_comment(self, new_data):
90 90
     def save(self, new_data):
91 91
         today = datetime.date.today()
92 92
         c = self.get_comment(new_data)
93  
-        for old in Comment.objects.get_list(content_type__id__exact=new_data["content_type_id"],
  93
+        for old in Comment.objects.filter(content_type__id__exact=new_data["content_type_id"],
94 94
             object_id__exact=new_data["object_id"], user__id__exact=self.get_user_id()):
95 95
             # Check that this comment isn't duplicate. (Sometimes people post
96 96
             # comments twice by mistake.) If it is, fail silently by pretending
@@ -146,7 +146,7 @@ def save(self, new_data):
146 146
         # Check that this comment isn't duplicate. (Sometimes people post
147 147
         # comments twice by mistake.) If it is, fail silently by pretending
148 148
         # the comment was posted successfully.
149  
-        for old_comment in FreeComment.objects.get_list(content_type__id__exact=new_data["content_type_id"],
  149
+        for old_comment in FreeComment.objects.filter(content_type__id__exact=new_data["content_type_id"],
150 150
             object_id__exact=new_data["object_id"], person_name__exact=new_data["person_name"],
151 151
             submit_date__year=today.year, submit_date__month=today.month,
152 152
             submit_date__day=today.day):
@@ -202,7 +202,7 @@ def post_comment(request):
202 202
         rating_range, rating_choices = [], []
203 203
     content_type_id, object_id = target.split(':') # target is something like '52:5157'
204 204
     try:
205  
-        obj = ContentType.objects.get_object(pk=content_type_id).get_object_for_this_type(pk=object_id)
  205
+        obj = ContentType.objects.get(pk=content_type_id).get_object_for_this_type(pk=object_id)
206 206
     except ObjectDoesNotExist:
207 207
         raise Http404, _("The comment form had an invalid 'target' parameter -- the object ID was invalid")
208 208
     option_list = options.split(',') # options is something like 'pa,ra'
@@ -285,7 +285,7 @@ def post_free_comment(request):
285 285
     if Comment.objects.get_security_hash(options, '', '', target) != security_hash:
286 286
         raise Http404, _("Somebody tampered with the comment form (security violation)")
287 287
     content_type_id, object_id = target.split(':') # target is something like '52:5157'
288  
-    content_type = ContentType.objects.get_object(pk=content_type_id)
  288
+    content_type = ContentType.objects.get(pk=content_type_id)
289 289
     try:
290 290
         obj = content_type.get_object_for_this_type(pk=object_id)
291 291
     except ObjectDoesNotExist:
@@ -333,7 +333,7 @@ def comment_was_posted(request):
333 333
     if request.GET.has_key('c'):
334 334
         content_type_id, object_id = request.GET['c'].split(':')
335 335
         try:
336  
-            content_type = ContentType.objects.get_object(pk=content_type_id)
  336
+            content_type = ContentType.objects.get(pk=content_type_id)
337 337
             obj = content_type.get_object_for_this_type(pk=object_id)
338 338
         except ObjectDoesNotExist:
339 339
             pass
12  django/contrib/comments/views/karma.py
... ...
@@ -1,7 +1,7 @@
1 1
 from django.http import Http404
2 2
 from django.shortcuts import render_to_response
3 3
 from django.template import RequestContext
4  
-from django.models.comments import comments, karma
  4
+from django.contrib.comments.models import Comment, KarmaScore
5 5
 
6 6
 def vote(request, comment_id, vote):
7 7
     """
@@ -18,12 +18,12 @@ def vote(request, comment_id, vote):
18 18
     if request.user.is_anonymous():
19 19
         raise Http404, _("Anonymous users cannot vote")
20 20
     try:
21  
-        comment = comments.get_object(pk=comment_id)
22  
-    except comments.CommentDoesNotExist:
  21
+        comment = Comment.objects.get(pk=comment_id)
  22
+    except Comment.DoesNotExist:
23 23
         raise Http404, _("Invalid comment ID")
24  
-    if comment.user_id == request.user.id:
  24
+    if comment.user.id == request.user.id:
25 25
         raise Http404, _("No voting for yourself")
26  
-    karma.vote(request.user.id, comment_id, rating)
  26
+    KarmaScore.objects.vote(request.user.id, comment_id, rating)
27 27
     # Reload comment to ensure we have up to date karma count
28  
-    comment = comments.get_object(pk=comment_id)
  28
+    comment = Comment.objects.get(pk=comment_id)
29 29
     return render_to_response('comments/karma_vote_accepted.html', {'comment': comment}, context_instance=RequestContext(request))
30  django/contrib/comments/views/userflags.py
... ...
@@ -1,7 +1,7 @@
1  
-from django.shortcuts import render_to_response
  1
+from django.shortcuts import render_to_response, get_object_or_404
2 2
 from django.template import RequestContext
3 3
 from django.http import Http404
4  
-from django.models.comments import comments, moderatordeletions, userflags
  4
+from django.contrib.comments.models import Comment, ModeratorDeletion, UserFlag
5 5
 from django.contrib.auth.decorators import login_required
6 6
 from django.http import HttpResponseRedirect
7 7
 from django.conf import settings
@@ -15,21 +15,15 @@ def flag(request, comment_id):
15 15
         comment
16 16
             the flagged `comments.comments` object
17 17
     """
18  
-    try:
19  
-        comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
20  
-    except comments.CommentDoesNotExist:
21  
-        raise Http404
  18
+    comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
22 19
     if request.POST:
23  
-        userflags.flag(comment, request.user)
  20
+        UserFlag.objects.flag(comment, request.user)
24 21
         return HttpResponseRedirect('%sdone/' % request.path)
25 22
     return render_to_response('comments/flag_verify.html', {'comment': comment}, context_instance=RequestContext(request))
26 23
 flag = login_required(flag)
27 24
 
28 25
 def flag_done(request, comment_id):
29  
-    try:
30  
-        comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
31  
-    except comments.CommentDoesNotExist:
32  
-        raise Http404
  26
+    comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
33 27
     return render_to_response('comments/flag_done.html', {'comment': comment}, context_instance=RequestContext(request))
34 28
 
35 29
 def delete(request, comment_id):
@@ -41,26 +35,20 @@ def delete(request, comment_id):
41 35
         comment
42 36
             the flagged `comments.comments` object
43 37
     """
44  
-    try:
45  
-        comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
46  
-    except comments.CommentDoesNotExist:
47  
-        raise Http404
48  
-    if not comments.user_is_moderator(request.user):
  38
+    comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
  39
+    if not Comment.objects.user_is_moderator(request.user):
49 40
         raise Http404
50 41
     if request.POST:
51 42
         # If the comment has already been removed, silently fail.
52 43
         if not comment.is_removed:
53 44
             comment.is_removed = True
54 45
             comment.save()
55  
-            m = moderatordeletions.ModeratorDeletion(None, request.user.id, comment.id, None)
  46
+            m = ModeratorDeletion(None, request.user.id, comment.id, None)
56 47
             m.save()
57 48
         return HttpResponseRedirect('%sdone/' % request.path)
58 49
     return render_to_response('comments/delete_verify.html', {'comment': comment}, context_instance=RequestContext(request))
59 50
 delete = login_required(delete)
60 51
 
61 52
 def delete_done(request, comment_id):
62  
-    try:
63  
-        comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
64  
-    except comments.CommentDoesNotExist:
65  
-        raise Http404
  53
+    comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
66 54
     return render_to_response('comments/delete_done.html', {'comment': comment}, context_instance=RequestContext(request))

0 notes on commit dbf2463

Please sign in to comment.
Something went wrong with that request. Please try again.