Mercurial > piecrust2
comparison piecrust/generation/base.py @ 815:69d16e1afb95
internal: Keep things out of the `PieCrust` class, and other clean-ups.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 11 Jan 2017 09:01:01 -0800 |
parents | aca04e175488 |
children |
comparison
equal
deleted
inserted
replaced
814:aca04e175488 | 815:69d16e1afb95 |
---|---|
122 page_ref = config.get('page') | 122 page_ref = config.get('page') |
123 if page_ref is None: | 123 if page_ref is None: |
124 raise ConfigurationError( | 124 raise ConfigurationError( |
125 "Generator '%s' requires a listing page ref." % name) | 125 "Generator '%s' requires a listing page ref." % name) |
126 self.page_ref = PageRef(app, page_ref) | 126 self.page_ref = PageRef(app, page_ref) |
127 | |
127 self.data_endpoint = config.get('data_endpoint') | 128 self.data_endpoint = config.get('data_endpoint') |
128 self.data_type = config.get('data_type') | 129 self.data_type = config.get('data_type') |
129 | |
130 if self.data_endpoint and not self.data_type: | 130 if self.data_endpoint and not self.data_type: |
131 raise ConfigurationError( | 131 raise ConfigurationError( |
132 "Generator '%s' requires a data type because it has a data endpoint." % name) | 132 "Generator '%s' requires a data type because it has " |
133 | 133 "a data endpoint." % name) |
134 | |
134 self._provider_type = None | 135 self._provider_type = None |
135 | 136 |
136 @cached_property | 137 @cached_property |
137 def source(self): | 138 def source(self): |
138 for src in self.app.sources: | 139 for src in self.app.sources: |
154 def onRouteFunctionUsed(self, route, route_metadata): | 155 def onRouteFunctionUsed(self, route, route_metadata): |
155 pass | 156 pass |
156 | 157 |
157 def buildDataProvider(self, page, override): | 158 def buildDataProvider(self, page, override): |
158 if not self._provider_type: | 159 if not self._provider_type: |
159 self._provider_type = self.app.getDataProviderClass(self.data_type) | 160 from piecrust.data.provider import get_data_provider_class |
161 self._provider_type = get_data_provider_class(self.app, | |
162 self.data_type) | |
160 return self._provider_type(self, page, override) | 163 return self._provider_type(self, page, override) |