Mercurial > piecrust2
diff piecrust/baking/worker.py @ 430:21e26ed867b6
internal: Create full route metadata in one place.
Instead of combining things at different moments to make up route metadata,
build it once and for all up-front and use that.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 27 Jun 2015 08:27:35 -0700 |
parents | ed5ccd4cce49 |
children | 32c7c2d219d2 |
line wrap: on
line diff
--- a/piecrust/baking/worker.py Sat Jun 27 00:03:56 2015 -0700 +++ b/piecrust/baking/worker.py Sat Jun 27 08:27:35 2015 -0700 @@ -6,6 +6,7 @@ from piecrust.baking.single import PageBaker, BakingError from piecrust.rendering import ( QualifiedPage, PageRenderingContext, render_page_segments) +from piecrust.routing import create_route_metadata from piecrust.sources.base import PageFactory @@ -218,7 +219,7 @@ assert route is not None page = fac.buildPage() - route_metadata = copy.deepcopy(fac.metadata) + route_metadata = create_route_metadata(page) qp = QualifiedPage(page, route, route_metadata) ctx = PageRenderingContext(qp) @@ -254,14 +255,16 @@ skip_taxonomies=True) assert route is not None + page = fac.buildPage() + qp = QualifiedPage(page, route, route_metadata) + result = BakeJobResult(fac.path, tax_info) previous_entry = job.payload.previous_entry dirty_source_names = job.payload.dirty_source_names logger.debug("Baking page: %s" % fac.ref_spec) try: sub_entries = self.page_baker.bake( - fac, route, route_metadata, previous_entry, - dirty_source_names, tax_info) + qp, previous_entry, dirty_source_names, tax_info) result.sub_entries = sub_entries except BakingError as ex: