Mercurial > piecrust2
comparison piecrust/sources/base.py @ 814:aca04e175488
data: Allow page generators to have an associated data provider
author | Ben Artin <ben@artins.org> |
---|---|
date | Wed, 28 Dec 2016 01:27:02 -0500 |
parents | 58ebf50235a5 |
children | 69d16e1afb95 |
comparison
equal
deleted
inserted
replaced
813:c3cb2f9df882 | 814:aca04e175488 |
---|---|
123 | 123 |
124 def findPageFactory(self, metadata, mode): | 124 def findPageFactory(self, metadata, mode): |
125 raise NotImplementedError() | 125 raise NotImplementedError() |
126 | 126 |
127 def buildDataProvider(self, page, override): | 127 def buildDataProvider(self, page, override): |
128 if self._provider_type is None: | 128 if not self._provider_type: |
129 cls = next((pt for pt in self.app.plugin_loader.getDataProviders() | 129 self._provider_type = self.app.getDataProviderClass(self.data_type) |
130 if pt.PROVIDER_NAME == self.data_type), | |
131 None) | |
132 if cls is None: | |
133 raise ConfigurationError( | |
134 "Unknown data provider type: %s" % self.data_type) | |
135 self._provider_type = cls | |
136 | |
137 return self._provider_type(self, page, override) | 130 return self._provider_type(self, page, override) |
138 | 131 |