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