Author: mtredinnick
Date: 2008-08-26 01:58:43 -0500 (Tue, 26 Aug 2008)
New Revision: 8573

Modified:
   django/trunk/django/contrib/comments/__init__.py
   django/trunk/django/contrib/comments/templatetags/comments.py
Log:
The comments app was unconditionally accessing various settings that didn't
exist in Django's global settings. Changed those accesses to conditional
lookups with default fallbacks.

The comment_test tests now pass without needing to add any extra settings.


Modified: django/trunk/django/contrib/comments/__init__.py
===================================================================
--- django/trunk/django/contrib/comments/__init__.py    2008-08-26 06:43:04 UTC 
(rev 8572)
+++ django/trunk/django/contrib/comments/__init__.py    2008-08-26 06:58:43 UTC 
(rev 8573)
@@ -10,14 +10,14 @@
     Get the comment app (i.e. "django.contrib.comments") as defined in the 
settings
     """
     # Make sure the app's in INSTALLED_APPS
-    comments_app = getattr(settings, 'COMMENTS_APP', 'django.contrib.comments')
+    comments_app = get_comment_app_name()
     if comments_app not in settings.INSTALLED_APPS:
         raise ImproperlyConfigured("The COMMENTS_APP (%r) "\
                                    "must be in INSTALLED_APPS" % 
settings.COMMENTS_APP)
 
     # Try to import the package
     try:
-        package = __import__(settings.COMMENTS_APP, '', '', [''])
+        package = __import__(comments_app, '', '', [''])
     except ImportError:
         raise ImproperlyConfigured("The COMMENTS_APP setting refers to "\
                                    "a non-existing package.")
@@ -31,6 +31,13 @@
 
     return package
 
+def get_comment_app_name():
+    """
+    Returns the name of the comment app (either the setting value, if it
+    exists, or the default).
+    """
+    return getattr(settings, 'COMMENTS_APP', 'django.contrib.comments')
+
 def get_model():
     from django.contrib.comments.models import Comment
     return Comment
@@ -46,7 +53,7 @@
     """
     Get the URL for the "flag this comment" view.
     """
-    if settings.COMMENTS_APP != __name__ and hasattr(get_comment_app(), 
"get_flag_url"):
+    if get_comment_app_name() != __name__ and hasattr(get_comment_app(), 
"get_flag_url"):
         return get_comment_app().get_flag_url(comment)
     else:
         return 
urlresolvers.reverse("django.contrib.comments.views.moderation.flag", 
args=(comment.id,))
@@ -55,7 +62,7 @@
     """
     Get the URL for the "delete this comment" view.
     """
-    if settings.COMMENTS_APP != __name__ and hasattr(get_comment_app(), 
"get_delete_url"):
+    if get_comment_app_name() != __name__ and hasattr(get_comment_app(), 
"get_delete_url"):
         return get_comment_app().get_flag_url(get_delete_url)
     else:
         return 
urlresolvers.reverse("django.contrib.comments.views.moderation.delete", 
args=(comment.id,))
@@ -64,7 +71,7 @@
     """
     Get the URL for the "approve this comment from moderation" view.
     """
-    if settings.COMMENTS_APP != __name__ and hasattr(get_comment_app(), 
"get_approve_url"):
+    if get_comment_app_name() != __name__ and hasattr(get_comment_app(), 
"get_approve_url"):
         return get_comment_app().get_approve_url(comment)
     else:
         return 
urlresolvers.reverse("django.contrib.comments.views.moderation.approve", 
args=(comment.id,))

Modified: django/trunk/django/contrib/comments/templatetags/comments.py
===================================================================
--- django/trunk/django/contrib/comments/templatetags/comments.py       
2008-08-26 06:43:04 UTC (rev 8572)
+++ django/trunk/django/contrib/comments/templatetags/comments.py       
2008-08-26 06:58:43 UTC (rev 8573)
@@ -81,7 +81,7 @@
             site__pk     = settings.SITE_ID,
             is_public    = True,
         )
-        if settings.COMMENTS_HIDE_REMOVED:
+        if getattr(settings, 'COMMENTS_HIDE_REMOVED', True):
             qs = qs.filter(is_removed=False)
 
         return qs


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to