Added test suite, and prevented pagination if the elusion would take up only one...
[django-pagination.git] / pagination / templatetags / pagination_tags.py
index bba21b8..e688b05 100644 (file)
@@ -92,14 +92,24 @@ def paginate(context, window=4):
             first_list = sorted(list(first))
             second_list = sorted(list(current))
             pages.extend(first_list)
-            if first_list[-1] + 1 != second_list[0]:
+            diff = second_list[0] - first_list[-1] 
+            if diff == 2:
+                pages.append(second_list[0] - 1)
+            elif diff == 1:
+                pass
+            else:
                 pages.append(None)
             pages.extend(second_list)
         else:
             pages.extend(sorted(list(first.union(current))))
         if len(current.intersection(last)) == 0:
             second_list = sorted(list(last))
-            if pages[-1] + 1 != second_list[0]:
+            diff = second_list[0] - pages[-1]
+            if diff == 2:
+                pages.append(second_list[0] - 1)
+            elif diff == 1:
+                pass
+            else:
                 pages.append(None)
             pages.extend(second_list)
         else:
@@ -113,4 +123,4 @@ def paginate(context, window=4):
     except KeyError:
         return u''
 register.inclusion_tag('pagination/pagination.html', takes_context=True)(paginate)
-register.tag('autopaginate', do_autopaginate)
+register.tag('autopaginate', do_autopaginate)
\ No newline at end of file