summaryrefslogtreecommitdiffstats
path: root/hyperkitty/lib/view_helpers.py
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-11-30 18:54:14 +0100
committerAurélien Bompard <aurelien@bompard.org>2013-12-01 13:55:06 +0100
commitd4ec8ef15baaec12d13ffc477e44d86f07fe028c (patch)
tree77129f05c98a11430ad1294af812d1e37a8fab49 /hyperkitty/lib/view_helpers.py
parent552582410df622d58da330ea712e83f1fa775c9b (diff)
downloadhyperkitty-d4ec8ef15baaec12d13ffc477e44d86f07fe028c.tar.gz
hyperkitty-d4ec8ef15baaec12d13ffc477e44d86f07fe028c.tar.xz
hyperkitty-d4ec8ef15baaec12d13ffc477e44d86f07fe028c.zip
Create a Storm-compatible paginator
Diffstat (limited to 'hyperkitty/lib/view_helpers.py')
-rw-r--r--hyperkitty/lib/view_helpers.py39
1 files changed, 0 insertions, 39 deletions
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