Mercurial > piecrust2
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: |