Mercurial > piecrust2
comparison piecrust/data/paginationdata.py @ 912:cd236a6af9f6
data: Add access to route metadata in the templating data.
It's available under `route`.
Also, rename `slug` to `rel_url`, because it's confusing when `slug` could
be the route metadata of the same name as provided by the default page source.
The old `slug` is still there for backwards compatibility though.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 28 Apr 2017 10:05:14 -0700 |
parents | a12ad254176e |
children | b447c24bc8d4 |
comparison
equal
deleted
inserted
replaced
851:2c7e57d80bba | 912:cd236a6af9f6 |
---|---|
1 import copy | |
1 import time | 2 import time |
2 import logging | 3 import logging |
3 from piecrust.data.assetor import Assetor | 4 from piecrust.data.assetor import Assetor |
4 from piecrust.data.pagedata import LazyPageConfigData | 5 from piecrust.data.pagedata import LazyPageConfigData |
5 from piecrust.routing import create_route_metadata | 6 from piecrust.routing import create_route_metadata |
29 | 30 |
30 def _load(self): | 31 def _load(self): |
31 page = self._page | 32 page = self._page |
32 dt = page.datetime | 33 dt = page.datetime |
33 page_url = self._get_uri() | 34 page_url = self._get_uri() |
34 _, slug = split_uri(page.app, page_url) | 35 _, rel_url = split_uri(page.app, page_url) |
35 self._setValue('url', page_url) | 36 self._setValue('url', page_url) |
36 self._setValue('slug', slug) | 37 self._setValue('rel_url', rel_url) |
38 self._setValue('slug', rel_url) # For backwards compatibility | |
39 self._setValue('route', copy.deepcopy(self._route_metadata)) | |
37 self._setValue( | 40 self._setValue( |
38 'timestamp', | 41 'timestamp', |
39 time.mktime(page.datetime.timetuple())) | 42 time.mktime(page.datetime.timetuple())) |
40 self._setValue('datetime', { | 43 self._setValue('datetime', { |
41 'year': dt.year, 'month': dt.month, 'day': dt.day, | 44 'year': dt.year, 'month': dt.month, 'day': dt.day, |