comparison 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
comparison
equal deleted inserted replaced
235:55087da9a72e 236:eaf18442bff8
80 # would set this back to `None`. 80 # would set this back to `None`.
81 if self._loaders is not None: 81 if self._loaders is not None:
82 del self._loaders[name] 82 del self._loaders[name]
83 if len(self._loaders) == 0: 83 if len(self._loaders) == 0:
84 self._loaders = None 84 self._loaders = None
85
86 elif name not in self._values:
87 loader = self._loaders.get('*')
88 if loader is not None:
89 try:
90 self._values[name] = loader(self, name)
91 except Exception as ex:
92 raise Exception(
93 "Error while loading attirbute '%s' for: %s" %
94 (name, self._page.rel_path)) from ex
85 95
86 return self._values[name] 96 return self._values[name]
87 97
88 def _setValue(self, name, value): 98 def _setValue(self, name, value):
89 if self._values is None: 99 if self._values is None: