Mercurial > piecrust2
diff 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 |
line wrap: on
line diff
--- a/piecrust/sources/base.py Mon Jan 02 16:30:57 2017 -0500 +++ b/piecrust/sources/base.py Wed Dec 28 01:27:02 2016 -0500 @@ -125,14 +125,7 @@ raise NotImplementedError() def buildDataProvider(self, page, override): - if self._provider_type is None: - cls = next((pt for pt in self.app.plugin_loader.getDataProviders() - if pt.PROVIDER_NAME == self.data_type), - None) - if cls is None: - raise ConfigurationError( - "Unknown data provider type: %s" % self.data_type) - self._provider_type = cls - + if not self._provider_type: + self._provider_type = self.app.getDataProviderClass(self.data_type) return self._provider_type(self, page, override)