Mercurial > piecrust2
diff piecrust/data/base.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 | f1b759c188b0 |
children | 3aa174a7f3cf |
line wrap: on
line diff
--- a/piecrust/data/base.py Sat Jun 27 00:03:56 2015 -0700 +++ b/piecrust/data/base.py Sat Jun 27 08:27:35 2015 -0700 @@ -2,6 +2,7 @@ import time import logging from piecrust.data.assetor import Assetor +from piecrust.routing import create_route_metadata from piecrust.uriutil import split_uri @@ -154,12 +155,12 @@ if self._route is None: # TODO: this is not quite correct, as we're missing parts of the # route metadata if the current page is a taxonomy page. - self._route = page.app.getRoute(page.source.name, - page.source_metadata) - self._route_metadata = copy.deepcopy(page.source_metadata) + route_metadata = create_route_metadata(page) + self._route = page.app.getRoute(page.source.name, route_metadata) + self._route_metadata = route_metadata if self._route is None: raise Exception("Can't get route for page: %s" % page.path) - return self._route.getUri(self._route_metadata, provider=page) + return self._route.getUri(self._route_metadata) def _loadCustom(self): page_url = self._get_uri()