MCPcopy
hub / github.com/pallets/werkzeug / Pagination

Class Pagination

examples/couchy/utils.py:59–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57
58
59class Pagination:
60 def __init__(self, results, per_page, page, endpoint):
61 self.results = results
62 self.per_page = per_page
63 self.page = page
64 self.endpoint = endpoint
65
66 @cached_property
67 def count(self):
68 return len(self.results)
69
70 @cached_property
71 def entries(self):
72 return self.results[
73 ((self.page - 1) * self.per_page) : (
74 ((self.page - 1) * self.per_page) + self.per_page
75 )
76 ]
77
78 @property
79 def has_previous(self):
80 """Return True if there are pages before the current one."""
81 return self.page > 1
82
83 @property
84 def has_next(self):
85 """Return True if there are pages after the current one."""
86 return self.page < self.pages
87
88 @property
89 def previous(self):
90 """Return the URL for the previous page."""
91 return url_for(self.endpoint, page=self.page - 1)
92
93 @property
94 def next(self):
95 """Return the URL for the next page."""
96 return url_for(self.endpoint, page=self.page + 1)
97
98 @property
99 def pages(self):
100 """Return the number of pages."""
101 return max(0, self.count - 1) // self.per_page + 1

Callers 1

listFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected