Mercurial > piecrust2
changeset 1033:57283302b3ee
data: Fix a bug when listing a blog's posts twice on a page.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 16 Jan 2018 08:38:46 -0800 |
parents | 54159951d97a |
children | 96f1e5e377ef |
files | piecrust/dataproviders/blog.py |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/piecrust/dataproviders/blog.py Tue Jan 16 08:38:06 2018 -0800 +++ b/piecrust/dataproviders/blog.py Tue Jan 16 08:38:46 2018 -0800 @@ -30,6 +30,9 @@ @property def posts(self): self._buildPosts() + # Reset each time on access in case a page is showing 2 different + # lists of the same blog. + self._posts.reset() return self._posts @property @@ -70,7 +73,7 @@ def _buildPosts(self): if self._posts is None: it = PageIterator(self._sources[0], current_page=self._page) - it._load_event += self._onIteration + self._onIteration() self._posts = it def _buildArchives(self): @@ -148,11 +151,11 @@ self._taxonomies[tax_name] = list( sorted(entries.values(), key=lambda i: i.term)) - self._onIteration(None) + self._onIteration() self._archives_built = True - def _onIteration(self, it): + def _onIteration(self): if not self._ctx_set: rcs = self._app.env.render_ctx_stack if rcs.current_ctx: