Mercurial > piecrust2
diff piecrust/sources/blogarchives.py @ 1144:9f3e702a8a69
bake: Give unique source specs to each taxonomy or blog archive page.
This prevents caching issues in some situations, leading to one tag page reusing the data from a previous tag page.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 05 Jun 2018 22:05:46 -0700 |
parents | 5f97b5b59dfe |
children |
line wrap: on
line diff
--- a/piecrust/sources/blogarchives.py Tue Jun 05 21:59:41 2018 -0700 +++ b/piecrust/sources/blogarchives.py Tue Jun 05 22:05:46 2018 -0700 @@ -42,7 +42,7 @@ def findContentFromRoute(self, route_params): year = route_params['year'] return ContentItem( - '_index', + '_index[%s]' % year, {'route_params': {'year': year}}) def prepareRenderContext(self, ctx): @@ -165,11 +165,6 @@ self._pagebaker.stopWriterQueue() def createJobs(self, ctx): - logger.debug("Caching template page for blog archives '%s'." % - self.inner_source.name) - page = self.app.getPage(self.source, ContentItem('_index', {})) - page._load() - logger.debug("Building blog archives for: %s" % self.inner_source.name) self._buildDirtyYears(ctx) @@ -181,13 +176,12 @@ current_record = ctx.current_record for y in self._dirty_years: - record_entry_spec = '_index[%04d]' % y + item_spec = '_index[%04d]' % y - jobs.append(create_job(self, '_index', - year=y, - record_entry_spec=record_entry_spec)) + jobs.append(create_job(self, item_spec, + year=y)) - entry = rec_fac(record_entry_spec) + entry = rec_fac(item_spec) current_record.addEntry(entry) if len(jobs) > 0: @@ -196,7 +190,7 @@ def run(self, job, ctx, result): year = job['year'] - content_item = ContentItem('_index', + content_item = ContentItem('_index[%04d]' % year, {'year': year, 'route_params': {'year': year}}) page = Page(self.source, content_item)