Mercurial > piecrust2
diff piecrust/data/paginationdata.py @ 1055:7e4742a60d14
data: Add new properties and folder support to the `family` data endpoint.
* Add `root` and `myself`.
* Return groups as part of the children.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 31 Jan 2018 08:53:27 -0800 |
parents | 45ad976712ec |
children |
line wrap: on
line diff
--- a/piecrust/data/paginationdata.py Wed Jan 31 08:50:39 2018 -0800 +++ b/piecrust/data/paginationdata.py Wed Jan 31 08:53:27 2018 -0800 @@ -9,8 +9,10 @@ class PaginationData(LazyPageConfigData): - def __init__(self, page): + def __init__(self, page, extra_data=None): super().__init__(page) + if extra_data: + self._values.update(extra_data) def _load(self): from piecrust.uriutil import split_uri @@ -30,6 +32,7 @@ self._mapLoader('timestamp', _load_timestamp) self._mapLoader('mtime', _load_content_mtime) self._mapLoader('assets', _load_assets) + self._mapLoader('family', _load_family) segment_names = page.config.get('segments') for name in segment_names: @@ -42,6 +45,11 @@ return Assetor(data._page) +def _load_family(data, name): + from piecrust.data.linker import Linker + return Linker(data._page.source, data._page.content_item) + + def _load_date(data, name): page = data._page date_format = page.app.config.get('site/date_format')