| | 57 | def first_on_page(self, page_number): |
|---|
| | 58 | """ |
|---|
| | 59 | Returns the 1-based index of the first object on the given page, |
|---|
| | 60 | relative to total objects found (hits). |
|---|
| | 61 | """ |
|---|
| | 62 | if page_number == 0: |
|---|
| | 63 | return 1 |
|---|
| | 64 | return (self.num_per_page * page_number) + 1 |
|---|
| | 65 | |
|---|
| | 66 | def last_on_page(self, page_number): |
|---|
| | 67 | """ |
|---|
| | 68 | Returns the 1-based index of the last object on the given page, |
|---|
| | 69 | relative to total objects found (hits). |
|---|
| | 70 | """ |
|---|
| | 71 | if page_number == 0 and self.num_per_page >= self._hits: |
|---|
| | 72 | return self._hits |
|---|
| | 73 | elif page_number == (self._pages - 1) and (page_number + 1) * self.num_per_page > self._hits: |
|---|
| | 74 | return self._hits |
|---|
| | 75 | return (page_number + 1) * self.num_per_page |
|---|
| | 76 | |
|---|