Mercurial > piecrust2
changeset 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 | 6d8fe8e93a91 |
children | 97c1dc568810 |
files | piecrust/generation/base.py piecrust/generation/taxonomy.py |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
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)
--- a/piecrust/generation/taxonomy.py Wed Aug 17 22:01:26 2016 -0700 +++ b/piecrust/generation/taxonomy.py Wed Aug 31 20:48:29 2016 -0700 @@ -8,7 +8,6 @@ PaginationFilter, SettingFilterClause, page_value_accessor) from piecrust.generation.base import PageGenerator, InvalidRecordExtraKey -from piecrust.sources.pageref import PageRef, PageNotFoundError logger = logging.getLogger(__name__)