Adjusted the paginate function to only attempt a length check if per_page is valid...
authorStephen Burrows <stephen.r.burrows@gmail.com>
Wed, 11 Aug 2010 21:24:43 +0000 (17:24 -0400)
committerStephen Burrows <stephen.r.burrows@gmail.com>
Wed, 11 Aug 2010 21:25:48 +0000 (17:25 -0400)
utils.py

index efd9f98..6fc2cff 100644 (file)
--- a/utils.py
+++ b/utils.py
@@ -74,15 +74,15 @@ def paginate(objects, per_page=None, page_number=1):
        except (TypeError, ValueError):
                # Then either it wasn't set or it was set to an invalid value
                paginator = page = None
-       
-       # There also shouldn't be pagination if the list is too short. Try count()
-       # first - good chance it's a queryset, where count is more efficient.
-       try:
-               if objects.count() <= per_page:
-                       paginator = page = None
-       except AttributeError:
-               if len(objects) <= per_page:
-                       paginator = page = None
+       else:
+               # There also shouldn't be pagination if the list is too short. Try count()
+               # first - good chance it's a queryset, where count is more efficient.
+               try:
+                       if objects.count() <= per_page:
+                               paginator = page = None
+               except AttributeError:
+                       if len(objects) <= per_page:
+                               paginator = page = None
        
        try:
                return paginator, page, objects