Mercurial > piecrust2
comparison piecrust/data/pagedata.py @ 548:785dea918ad8
debug: Fix a crash when rendering debug info for some pages.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 02 Aug 2015 23:01:59 -0700 |
parents | 32c7c2d219d2 |
children | ab5c6a8ae90a |
comparison
equal
deleted
inserted
replaced
547:8c9057bb0fea | 548:785dea918ad8 |
---|---|
36 return self._getValue(name) | 36 return self._getValue(name) |
37 except LazyPageConfigLoaderHasNoValue as ex: | 37 except LazyPageConfigLoaderHasNoValue as ex: |
38 raise KeyError("No such key: %s" % name) from ex | 38 raise KeyError("No such key: %s" % name) from ex |
39 | 39 |
40 def __iter__(self): | 40 def __iter__(self): |
41 keys = list(self._page.config.keys()) | 41 keys = set(self._page.config.keys()) |
42 keys += list(self._values.keys()) | 42 keys |= set(self._values.keys()) |
43 keys += list(self._loaders.keys()) | 43 keys |= set(self._loaders.keys()) |
44 keys.discard('*') | |
44 return iter(keys) | 45 return iter(keys) |
45 | 46 |
46 def __len__(self): | 47 def __len__(self): |
47 return len(self._page.config) + len(self._values) + len(self._loaders) | 48 return len(self._page.config) + len(self._values) + len(self._loaders) |
48 | 49 |
134 def _debugRenderKeys(self): | 135 def _debugRenderKeys(self): |
135 self._ensureLoaded() | 136 self._ensureLoaded() |
136 keys = set(self._values.keys()) | 137 keys = set(self._values.keys()) |
137 if self._loaders: | 138 if self._loaders: |
138 keys |= set(self._loaders.keys()) | 139 keys |= set(self._loaders.keys()) |
140 keys.discard('*') | |
139 return list(keys) | 141 return list(keys) |
140 | 142 |
141 | 143 |
142 class PageData(LazyPageConfigData): | 144 class PageData(LazyPageConfigData): |
143 """ Template data for a page. | 145 """ Template data for a page. |