changeset 1080:d464c1b1d686

data: Fix debug rendering of the blog data provider.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 15 Feb 2018 21:15:49 -0800
parents 00a0a65d08e6
children d4e0c53aa6e8
files piecrust/dataproviders/blog.py
diffstat 1 files changed, 6 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/piecrust/dataproviders/blog.py	Thu Feb 15 21:15:30 2018 -0800
+++ b/piecrust/dataproviders/blog.py	Thu Feb 15 21:15:49 2018 -0800
@@ -1,12 +1,11 @@
 import time
-import collections.abc
 from piecrust.dataproviders.base import DataProvider
 from piecrust.dataproviders.pageiterator import PageIterator
 from piecrust.sources.list import ListSource
 from piecrust.sources.taxonomy import Taxonomy
 
 
-class BlogDataProvider(DataProvider, collections.abc.Mapping):
+class BlogDataProvider(DataProvider):
     PROVIDER_NAME = 'blog'
 
     debug_render_doc = """Provides a list of blog posts and yearly/monthly
@@ -45,6 +44,10 @@
         self._buildArchives()
         return self._montly
 
+    @property
+    def taxonomies(self):
+        return list(self._app.config.get('site/taxonomies').keys())
+
     def __getitem__(self, name):
         self._buildArchives()
         return self._taxonomies[name]
@@ -56,19 +59,8 @@
         except KeyError:
             raise AttributeError("No such taxonomy: %s" % name)
 
-    def __iter__(self):
-        self._buildPosts()
-        self._buildArchives()
-        return ['posts', 'years', 'months'] + list(
-            sorted(self._taxonomies.keys()))
-
-    def __len__(self):
-        self._buildPosts()
-        self._buildArchives()
-        return 3 + len(self._taxonomies)
-
     def _debugRenderTaxonomies(self):
-        return list(self._app.config.get('site/taxonomies').keys())
+        return self.taxonomies
 
     def _buildPosts(self):
         if self._posts is None: