Mercurial > piecrust2
comparison piecrust/data/provider.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 | 4b1019bb2533 |
children | e7b865f8f335 |
comparison
equal
deleted
inserted
replaced
407:bd56d9acd6ef | 408:fd8e39254da0 |
---|---|
35 | 35 |
36 | 36 |
37 class IteratorDataProvider(DataProvider): | 37 class IteratorDataProvider(DataProvider): |
38 PROVIDER_NAME = 'iterator' | 38 PROVIDER_NAME = 'iterator' |
39 | 39 |
40 debug_render_doc = """Provides a list of pages.""" | 40 debug_render_doc_dynamic = ['_debugRenderDoc'] |
41 debug_render_not_empty = True | |
41 | 42 |
42 def __init__(self, source, page, user_data): | 43 def __init__(self, source, page, user_data): |
43 self._innerIt = None | 44 self._innerIt = None |
44 if isinstance(user_data, IteratorDataProvider): | 45 if isinstance(user_data, IteratorDataProvider): |
45 # Iterator providers can be chained, like for instance with | 46 # Iterator providers can be chained, like for instance with |
67 def _onIteration(self): | 68 def _onIteration(self): |
68 if not self._ctx_set: | 69 if not self._ctx_set: |
69 eis = self._page.app.env.exec_info_stack | 70 eis = self._page.app.env.exec_info_stack |
70 eis.current_page_info.render_ctx.addUsedSource(self._source.name) | 71 eis.current_page_info.render_ctx.addUsedSource(self._source.name) |
71 self._ctx_set = True | 72 self._ctx_set = True |
73 | |
74 def _debugRenderDoc(self): | |
75 return 'Provides a list of %d items' % len(self) | |
72 | 76 |
73 | 77 |
74 class BlogDataProvider(DataProvider): | 78 class BlogDataProvider(DataProvider): |
75 PROVIDER_NAME = 'blog' | 79 PROVIDER_NAME = 'blog' |
76 | 80 |