From 14a32ae32d6b4605b41b0929bab98ecb9e1f67c0 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Tue, 14 Jul 2015 11:40:15 +0100 Subject: [PATCH] Add get_page_size hook to CursorPagination. Closes #3068. --- rest_framework/pagination.py | 18 ------------------ tests/test_pagination.py | 20 -------------------- 2 files changed, 38 deletions(-) diff --git a/rest_framework/pagination.py b/rest_framework/pagination.py index 081760e1c..3536f793a 100644 --- a/rest_framework/pagination.py +++ b/rest_framework/pagination.py @@ -454,14 +454,6 @@ class CursorPagination(BasePagination): # Defaults to `None`, meaning pagination is disabled. page_size = api_settings.PAGE_SIZE - # Client can control the page size using this query parameter. - # Default is 'None'. Set to eg 'page_size' to enable usage. - page_size_query_param = None - - # Set to an integer to limit the maximum page size the client may request. - # Only relevant if 'page_size_query_param' has also been set. - max_page_size = None - invalid_cursor_message = _('Invalid cursor') ordering = '-created' template = 'rest_framework/pagination/previous_and_next.html' @@ -544,16 +536,6 @@ class CursorPagination(BasePagination): return self.page def get_page_size(self, request): - if self.page_size_query_param: - try: - return _positive_int( - request.query_params[self.page_size_query_param], - strict=True, - cutoff=self.max_page_size - ) - except (KeyError, ValueError): - pass - return self.page_size def get_next_link(self): diff --git a/tests/test_pagination.py b/tests/test_pagination.py index 0ab149d07..03c4fdf47 100644 --- a/tests/test_pagination.py +++ b/tests/test_pagination.py @@ -513,8 +513,6 @@ class TestCursorPagination: class ExamplePagination(pagination.CursorPagination): page_size = 5 - page_size_query_param = 'page_size' - max_page_size = 20 ordering = 'created' self.pagination = ExamplePagination() @@ -650,24 +648,6 @@ class TestCursorPagination: assert isinstance(self.pagination.to_html(), type('')) - def test_page_size(self): - (previous, current, next, previous_url, next_url) = \ - self.get_pages('/?page_size=10') - - assert previous is None - assert current == [1, 1, 1, 1, 1, 1, 2, 3, 4, 4] - assert next == [4, 4, 5, 6, 7, 7, 7, 7, 7, 7] - assert 'page_size=10' in next_url - - (previous, current, next, previous_url, next_url) = \ - self.get_pages(next_url.replace('page_size=10', 'page_size=4')) - - assert previous == [2, 3, 4, 4] - assert current == [4, 4, 5, 6] - assert next == [7, 7, 7, 7] - assert 'page_size=4' in previous_url - assert 'page_size=4' in next_url - def test_get_displayed_page_numbers(): """