comparison piecrust/data/base.py @ 147:ab6e7e0e9d44

Pass date information to routing when building URLs. This is so that URLs with dates in them can be built even when the date information is not coming from the source metadata, but from the page's config.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 29 Nov 2014 21:00:44 -0800
parents 30a42341cfa8
children 1187739e5a19
comparison
equal deleted inserted replaced
146:0609739169bd 147:ab6e7e0e9d44
121 def _get_uri(self): 121 def _get_uri(self):
122 page = self._page 122 page = self._page
123 route = page.app.getRoute(page.source.name, page.source_metadata) 123 route = page.app.getRoute(page.source.name, page.source_metadata)
124 if route is None: 124 if route is None:
125 raise Exception("Can't get route for page: %s" % page.path) 125 raise Exception("Can't get route for page: %s" % page.path)
126 return route.getUri(page.source_metadata) 126 return route.getUri(page.source_metadata, page)
127 127
128 def _loadCustom(self): 128 def _loadCustom(self):
129 page_url = self._get_uri() 129 page_url = self._get_uri()
130 self.setValue('url', page_url) 130 self.setValue('url', page_url)
131 self.setValue('slug', get_slug(self._page.app, page_url)) 131 self.setValue('slug', get_slug(self._page.app, page_url))