Added support for multiple paginations on the same template. (Florian Schlachter )
[django-pagination.git] / pagination / middleware.py
index b99a7e3..676f909 100644 (file)
@@ -1,10 +1,17 @@
+def get_page(self, suffix):
+    """
+    A function which will be monkeypatched onto the request to get the current
+    integer representing the current page.
+    """
+    try:
+        return int(self.REQUEST['page%s' % suffix])
+    except (KeyError, ValueError, TypeError):
+        return 1
+
 class PaginationMiddleware(object):
     """
     Inserts a variable representing the current page onto the request object if
     it exists in either **GET** or **POST** portions of the request.
     """
     def process_request(self, request):
-        try:
-            request.page = int(request['page'])
-        except (KeyError, ValueError):
-            request.page = 1
\ No newline at end of file
+        request.__class__.page = get_page
\ No newline at end of file