comparison piecrust/data/iterators.py @ 408:fd8e39254da0

debug: Better debug info output for iterators, providers, and linkers.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 25 May 2015 18:37:34 -0700
parents 8c0c53a315ae
children cb3446be44b7
comparison
equal deleted inserted replaced
407:bd56d9acd6ef 408:fd8e39254da0
106 if self._fil.pageMatches(page): 106 if self._fil.pageMatches(page):
107 yield page 107 yield page
108 108
109 109
110 class PageIterator(object): 110 class PageIterator(object):
111 debug_render = []
112 debug_render_doc_dynamic = ['_debugRenderDoc']
113 debug_render_not_empty = True
114
111 def __init__(self, source, current_page=None, pagination_filter=None, 115 def __init__(self, source, current_page=None, pagination_filter=None,
112 offset=0, limit=-1, locked=False): 116 offset=0, limit=-1, locked=False):
113 self._source = source 117 self._source = source
114 self._current_page = current_page 118 self._current_page = current_page
115 self._locked = False 119 self._locked = False
301 pn = [self._pagination_slicer.prev_page, 305 pn = [self._pagination_slicer.prev_page,
302 self._pagination_slicer.next_page] 306 self._pagination_slicer.next_page]
303 pn_it = self._source.getTailIterator(iter(pn)) 307 pn_it = self._source.getTailIterator(iter(pn))
304 self._prev_page, self._next_page = (list(pn_it)) 308 self._prev_page, self._next_page = (list(pn_it))
305 309
310 def _debugRenderDoc(self):
311 return "Contains %d items" % len(self)
312