|
|
|
@ -4179,7 +4179,9 @@ class PagedList:
|
|
|
|
|
self._cache = {}
|
|
|
|
|
|
|
|
|
|
def getpage(self, pagenum):
|
|
|
|
|
page_results = self._cache.get(pagenum) or list(self._pagefunc(pagenum))
|
|
|
|
|
page_results = self._cache.get(pagenum)
|
|
|
|
|
if page_results is None:
|
|
|
|
|
page_results = list(self._pagefunc(pagenum))
|
|
|
|
|
if self._use_cache:
|
|
|
|
|
self._cache[pagenum] = page_results
|
|
|
|
|
return page_results
|
|
|
|
@ -4195,7 +4197,9 @@ class PagedList:
|
|
|
|
|
if not isinstance(idx, int) or idx < 0:
|
|
|
|
|
raise TypeError('indices must be non-negative integers')
|
|
|
|
|
entries = self.getslice(idx, idx + 1)
|
|
|
|
|
return entries[0] if entries else None
|
|
|
|
|
if not entries:
|
|
|
|
|
raise IndexError()
|
|
|
|
|
return entries[0]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class OnDemandPagedList(PagedList):
|
|
|
|
|