From 21d0114e1ecd304b32564a45b9f6bb2976353689 Mon Sep 17 00:00:00 2001 From: Kristof Claes Date: Thu, 25 Jun 2015 11:28:14 +0200 Subject: [PATCH] Made it more readable. --- src/django_ajax/pagination.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/django_ajax/pagination.py b/src/django_ajax/pagination.py index fafe210..3d7159b 100644 --- a/src/django_ajax/pagination.py +++ b/src/django_ajax/pagination.py @@ -128,33 +128,24 @@ def paginate(request, # Page number? page_num = request.GET.get(page_variable, None) + number_of_pages = paginator.num_pages if page_num: try: page_num = int(page_num) - page_num = max(page_num, 1) # Make sure page number isn't negative + page_num = max(page_num, 1) # Make sure page number isn't negative. + page_num = min(page_num, number_of_pages) # Make sure the pagenumber isn't bigger than the number of pages. except ValueError: page_num = 1 else: # Default start page if default_to_last_page: - page_num = paginator.num_pages + page_num = number_of_pages else: page_num = 1 - # Make sure the pagenumber isn't bigger than the number of pages. - number_of_pages = paginator.num_pages - page_num = min(page_num, number_of_pages) - # Create output page instance - try: - output_page = paginator.page(page_num, default_to_last_page) - except (EmptyPage, PageNotAnInteger): - if default_to_last_page: - page_num = paginator.num_pages - else: - page_num = 1 - output_page = paginator.page(page_num, default_to_last_page) + output_page = paginator.page(page_num, default_to_last_page) # Query string parameters output_page.additional_parameters = query_string_parameters or { }