Mercurial > piecrust2
diff piecrust/generation/base.py @ 785:661f7ba15762
bug: Fix possible crash with overlapping pages.
Code was incorrectly refactored from a previous version.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 31 Aug 2016 20:48:29 -0700 |
parents | 606f6d57b5df |
children | 58ebf50235a5 |
line wrap: on
line diff
--- a/piecrust/generation/base.py Wed Aug 17 22:01:26 2016 -0700 +++ b/piecrust/generation/base.py Wed Aug 31 20:48:29 2016 -0700 @@ -1,3 +1,4 @@ +import logging from werkzeug.utils import cached_property from piecrust.baking.records import BakeRecordEntry from piecrust.baking.worker import save_factory, JOB_BAKE @@ -6,6 +7,9 @@ from piecrust.sources.pageref import PageRef +logger = logging.getLogger(__name__) + + class InvalidRecordExtraKey(Exception): pass @@ -61,13 +65,13 @@ if override_entry is not None: override_source = self.app.getSource( override_entry.source_name) - if override_source.realm == fac.source.realm: - cur_entry.errors.append( + if override_source.realm == page_fac.source.realm: + entry.errors.append( "Page '%s' maps to URL '%s' but is overriden " "by page '%s'." % - (fac.ref_spec, uri, override_entry.path)) - logger.error(cur_entry.errors[-1]) - cur_entry.flags |= BakeRecordEntry.FLAG_OVERRIDEN + (page_fac.ref_spec, uri, override_entry.path)) + logger.error(entry.errors[-1]) + entry.flags |= BakeRecordEntry.FLAG_OVERRIDEN return route_index = self._app.routes.index(route)