1.0.6
[django-pagination.git] / pagination / middleware.py
index 8a541fb..f8a2a6f 100644 (file)
@@ -1,6 +1,17 @@
+def get_page(self):
+    """
+    A function which will be monkeypatched onto the request to get the current
+    integer representing the current page.
+    """
+    try:
+        return int(self.REQUEST['page'])
+    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:
-            request.page = 1
\ No newline at end of file
+        request.__class__.page = property(get_page)
\ No newline at end of file