diff 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
line wrap: on
line diff
--- a/piecrust/data/provider.py	Mon May 25 18:36:44 2015 -0700
+++ b/piecrust/data/provider.py	Mon May 25 18:37:34 2015 -0700
@@ -37,7 +37,8 @@
 class IteratorDataProvider(DataProvider):
     PROVIDER_NAME = 'iterator'
 
-    debug_render_doc = """Provides a list of pages."""
+    debug_render_doc_dynamic = ['_debugRenderDoc']
+    debug_render_not_empty = True
 
     def __init__(self, source, page, user_data):
         self._innerIt = None
@@ -70,6 +71,9 @@
             eis.current_page_info.render_ctx.addUsedSource(self._source.name)
             self._ctx_set = True
 
+    def _debugRenderDoc(self):
+        return 'Provides a list of %d items' % len(self)
+
 
 class BlogDataProvider(DataProvider):
     PROVIDER_NAME = 'blog'