Mercurial > piecrust2
diff piecrust/dataproviders/blog.py @ 854:08e02c2a2a1a
core: Keep refactoring, this time to prepare for generator sources.
- Make a few APIs simpler.
- Content pipelines create their own jobs, so that generator sources can
keep aborting in `getContents`, but rely on their pipeline to generate
pages for baking.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 04 Jun 2017 23:34:28 -0700 |
parents | f070a4fc033c |
children | d231a10d18f9 |
line wrap: on
line diff
--- a/piecrust/dataproviders/blog.py Sun May 21 00:06:59 2017 -0700 +++ b/piecrust/dataproviders/blog.py Sun Jun 04 23:34:28 2017 -0700 @@ -1,7 +1,8 @@ import time import collections.abc from piecrust.dataproviders.base import DataProvider -from piecrust.generation.taxonomy import Taxonomy +from piecrust.dataproviders.pageiterator import PageIterator +from piecrust.sources.taxonomy import Taxonomy class BlogDataProvider(DataProvider, collections.abc.Mapping): @@ -12,8 +13,8 @@ debug_render_dynamic = (['_debugRenderTaxonomies'] + DataProvider.debug_render_dynamic) - def __init__(self, source, page, override): - super(BlogDataProvider, self).__init__(source, page, override) + def __init__(self, source, page): + super().__init__(source, page) self._yearly = None self._monthly = None self._taxonomies = {} @@ -72,15 +73,15 @@ posts_this_year = yearly_index.get(year) if posts_this_year is None: timestamp = time.mktime( - (post.datetime.year, 1, 1, 0, 0, 0, 0, 0, -1)) + (post.datetime.year, 1, 1, 0, 0, 0, 0, 0, -1)) posts_this_year = BlogArchiveEntry(self._page, year, timestamp) self._yearly.append(posts_this_year) yearly_index[year] = posts_this_year posts_this_year._data_source.append(post) self._yearly = sorted(self._yearly, - key=lambda e: e.timestamp, - reverse=True) + key=lambda e: e.timestamp, + reverse=True) self._onIteration() return self._yearly @@ -93,19 +94,20 @@ month = post.datetime.strftime('%B %Y') posts_this_month = next( - filter(lambda m: m.name == month, self._monthly), - None) + filter(lambda m: m.name == month, self._monthly), + None) if posts_this_month is None: timestamp = time.mktime( - (post.datetime.year, post.datetime.month, 1, - 0, 0, 0, 0, 0, -1)) - posts_this_month = BlogArchiveEntry(self._page, month, timestamp) + (post.datetime.year, post.datetime.month, 1, + 0, 0, 0, 0, 0, -1)) + posts_this_month = BlogArchiveEntry( + self._page, month, timestamp) self._monthly.append(posts_this_month) posts_this_month._data_source.append(post) self._monthly = sorted(self._monthly, - key=lambda e: e.timestamp, - reverse=True) + key=lambda e: e.timestamp, + reverse=True) self._onIteration() return self._monthly