Mercurial > piecrust2
diff piecrust/data/base.py @ 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 | 8015fb40c28b |
children | f130365568ff |
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):