Probably fixed a potential bug with extraneous ellipses.
authorfloguy <floguy@7f1efe38-554e-0410-b69d-834cb44da2d5>
Fri, 30 May 2008 03:49:57 +0000 (03:49 +0000)
committerfloguy <floguy@7f1efe38-554e-0410-b69d-834cb44da2d5>
Fri, 30 May 2008 03:49:57 +0000 (03:49 +0000)
git-svn-id: https://django-pagination.googlecode.com/svn/trunk@11 7f1efe38-554e-0410-b69d-834cb44da2d5

pagination/templatetags/pagination_tags.py

index 3c1d17b..bba21b8 100644 (file)
@@ -89,14 +89,19 @@ def paginate(context, window=4):
         current = set(page_range[current_start:current_end])
         pages = []
         if len(first.intersection(current)) == 0:
         current = set(page_range[current_start:current_end])
         pages = []
         if len(first.intersection(current)) == 0:
-            pages.extend(sorted(list(first)))
-            pages.append(None)
-            pages.extend(sorted(list(current)))
+            first_list = sorted(list(first))
+            second_list = sorted(list(current))
+            pages.extend(first_list)
+            if first_list[-1] + 1 != second_list[0]:
+                pages.append(None)
+            pages.extend(second_list)
         else:
             pages.extend(sorted(list(first.union(current))))
         if len(current.intersection(last)) == 0:
         else:
             pages.extend(sorted(list(first.union(current))))
         if len(current.intersection(last)) == 0:
-            pages.append(None)
-            pages.extend(sorted(list(last)))
+            second_list = sorted(list(last))
+            if pages[-1] + 1 != second_list[0]:
+                pages.append(None)
+            pages.extend(second_list)
         else:
             pages.extend(sorted(list(last.difference(current))))
         return { 
         else:
             pages.extend(sorted(list(last.difference(current))))
         return {