From d4ec8ef15baaec12d13ffc477e44d86f07fe028c Mon Sep 17 00:00:00 2001 From: Aurélien Bompard Date: Sat, 30 Nov 2013 18:54:14 +0100 Subject: Create a Storm-compatible paginator --- hyperkitty/lib/view_helpers.py | 39 --------------------------------------- 1 file changed, 39 deletions(-) (limited to 'hyperkitty/lib/view_helpers.py') diff --git a/hyperkitty/lib/view_helpers.py b/hyperkitty/lib/view_helpers.py index 1352c27..fb8e897 100644 --- a/hyperkitty/lib/view_helpers.py +++ b/hyperkitty/lib/view_helpers.py @@ -22,7 +22,6 @@ import datetime -from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.utils.timezone import utc from hyperkitty.models import ThreadCategory, LastView @@ -80,44 +79,6 @@ def daterange(start_date, end_date): yield start_date + datetime.timedelta(n) -def paginate(objects, page_num, max_page_range=10, paginator=None): - try: - page_num = int(page_num) - except (TypeError, ValueError): - page_num = 1 - if paginator is None: - paginator = Paginator(objects, 10) # else use the provided instance - try: - objects = paginator.page(page_num) - except PageNotAnInteger: - # If page is not an integer, deliver first page. - objects = paginator.page(1) - except EmptyPage: - # If page is out of range (e.g. 9999), deliver last page of results. - objects = paginator.page(paginator.num_pages) - # Calculate the displayed page range - if paginator.num_pages > max_page_range: - objects.page_range = [ 1 ] - subrange_lower = page_num - (max_page_range / 2 - 2) - if subrange_lower > 3: - objects.page_range.append("...") - else: - subrange_lower = 2 - objects.page_range.extend(range(subrange_lower, page_num)) - if page_num != 1 and page_num != 100: - objects.page_range.append(page_num) - subrange_upper = page_num + (max_page_range / 2 - 2) - if subrange_upper >= paginator.num_pages - 2: - subrange_upper = paginator.num_pages - 1 - objects.page_range.extend(range(page_num+1, subrange_upper+1)) - if subrange_upper < paginator.num_pages - 2: - objects.page_range.append("...") - objects.page_range.append(paginator.num_pages) - else: - objects.page_range = [ p+1 for p in range(paginator.num_pages) ] - return objects - - def get_category_widget(request=None, current_category=None): """ Returns the category form and the applicable category object (or None if no -- cgit