Ticket #720: paginator_diff.py

File paginator_diff.py, 1.3 KB (added by m@…, 19 years ago)

svn diff output with added methods

Line 
1Index: paginator.py
2===================================================================
3--- paginator.py (revision 1066)
4+++ paginator.py (working copy)
5@@ -56,6 +56,29 @@
6
7 def has_previous_page(self, page_number):
8 return page_number > 0
9+
10+ def first_on_page(self, page_number):
11+ "Returns the # of the first object on the current page relative to total objects found (hits)."
12+ if page_number == 0:
13+ return page_number + 1
14+ else:
15+ return (self.num_per_page * page_number) + 1
16+
17+ def last_on_page(self, page_number):
18+ "Returns the # of the last object on the current page relative to total objects found (hits)."
19+ hits_,pages_ = self.hits,self.pages
20+ if page_number == 0: #first page
21+ if self.num_per_page >= hits_:
22+ return hits_
23+ else:
24+ return self.num_per_page
25+ elif page_number == (pages_ - 1): # last page is (pages - 1) because the paginator is zero-indexed
26+ if ((page_number + 1) * self.num_per_page) > hits_:
27+ return hits_
28+ else:
29+ return ((page_number + 1) * self.num_per_page)
30+ else: # pages between first and last
31+ return ((page_number + 1) * self.num_per_page)
32
33 def _get_hits(self):
34 if self._hits is None:
Back to Top