# HG changeset patch # User Ludovic Chabant # Date 1516120726 28800 # Node ID 57283302b3ee6ec3ae857c935804e10909b97efa # Parent 54159951d97ab1032f5037a6c34690a921f341ba data: Fix a bug when listing a blog's posts twice on a page. diff -r 54159951d97a -r 57283302b3ee piecrust/dataproviders/blog.py --- 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: