Mercurial > piecrust2
changeset 236:eaf18442bff8
internal: Add support for "wildcard" loader in `LazyPageConfigData`.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 15 Feb 2015 22:42:58 -0800 |
parents | 55087da9a72e |
children | 879fe1457e48 |
files | piecrust/data/base.py |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/piecrust/data/base.py Sat Feb 14 08:49:09 2015 -0800 +++ b/piecrust/data/base.py Sun Feb 15 22:42:58 2015 -0800 @@ -83,6 +83,16 @@ if len(self._loaders) == 0: self._loaders = None + elif name not in self._values: + loader = self._loaders.get('*') + if loader is not None: + try: + self._values[name] = loader(self, name) + except Exception as ex: + raise Exception( + "Error while loading attirbute '%s' for: %s" % + (name, self._page.rel_path)) from ex + return self._values[name] def _setValue(self, name, value):