Mercurial > piecrust2
diff piecrust/sources/blogarchives.py @ 876:d1095774bfcf
refactor: Fix some issues with record/cache entry collisions, add counters.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 15 Jun 2017 07:33:40 -0700 |
parents | 504ddb370df8 |
children | d6d35b2efd04 |
line wrap: on
line diff
--- a/piecrust/sources/blogarchives.py Thu Jun 15 07:32:19 2017 -0700 +++ b/piecrust/sources/blogarchives.py Thu Jun 15 07:33:40 2017 -0700 @@ -40,8 +40,11 @@ def findContent(self, route_params): year = route_params['year'] - spec = '_index[%04d]' % year - metadata = {'route_params': {'year': year}} + spec = '_index' + metadata = { + 'record_entry_spec': '_index[%04d]' % year, + 'route_params': {'year': year} + } return ContentItem(spec, metadata) def prepareRenderContext(self, ctx): @@ -167,6 +170,11 @@ 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) @@ -176,8 +184,11 @@ jobs = [] for y in self._dirty_years: item = ContentItem( - '_index[%04d]' % y, - {'route_params': {'year': y}}) + '_index', + { + 'record_entry_spec': '_index[%04d]' % y, + 'route_params': {'year': y} + }) jobs.append(self.createJob(item)) if len(jobs) > 0: return jobs