comparison piecrust/data/pagedata.py @ 877:d6d35b2efd04

bake: Rename "pass" to "step" and make the page pipeline use different steps. That pipeline is now first loading all pages, and then rendering full pages unless they trigger a sub-render.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 15 Jun 2017 22:16:23 -0700
parents f4608e2e80ce
children cc2647360036
comparison
equal deleted inserted replaced
876:d1095774bfcf 877:d6d35b2efd04
1 import time 1 import time
2 import logging 2 import logging
3 import collections.abc 3 import collections.abc
4 from piecrust.sources.base import AbortedSourceUseError
4 5
5 6
6 logger = logging.getLogger(__name__) 7 logger = logging.getLogger(__name__)
7 8
8 9
68 # Try a loader for a new value. 69 # Try a loader for a new value.
69 loader = self._loaders.get(name) 70 loader = self._loaders.get(name)
70 if loader is not None: 71 if loader is not None:
71 try: 72 try:
72 self._values[name] = loader(self, name) 73 self._values[name] = loader(self, name)
73 except LazyPageConfigLoaderHasNoValue: 74 except (LazyPageConfigLoaderHasNoValue, AbortedSourceUseError):
74 raise 75 raise
75 except Exception as ex: 76 except Exception as ex:
76 logger.exception(ex) 77 logger.exception(ex)
77 raise Exception( 78 raise Exception(
78 "Error while loading attribute '%s' for: %s" % 79 "Error while loading attribute '%s' for: %s" %
88 # Try the wildcard loader if it exists. 89 # Try the wildcard loader if it exists.
89 loader = self._loaders.get('*') 90 loader = self._loaders.get('*')
90 if loader is not None: 91 if loader is not None:
91 try: 92 try:
92 self._values[name] = loader(self, name) 93 self._values[name] = loader(self, name)
93 except LazyPageConfigLoaderHasNoValue: 94 except (LazyPageConfigLoaderHasNoValue, AbortedSourceUseError):
94 raise 95 raise
95 except Exception as ex: 96 except Exception as ex:
96 logger.exception(ex) 97 logger.exception(ex)
97 raise Exception( 98 raise Exception(
98 "Error while loading attribute '%s' for: %s" % 99 "Error while loading attribute '%s' for: %s" %