Mercurial > piecrust2
diff piecrust/data/providersdata.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 | 32c7c2d219d2 |
children | 71c4f43d8fc1 |
line wrap: on
line diff
--- a/piecrust/data/providersdata.py Mon Jan 02 16:30:57 2017 -0500 +++ b/piecrust/data/providersdata.py Wed Dec 28 01:27:02 2016 -0500 @@ -27,13 +27,14 @@ return self._dict = {} - for source in self._page.app.sources: - endpoint_bits = re_endpoint_sep.split(source.data_endpoint) - endpoint = self._dict - for e in endpoint_bits[:-1]: - if e not in endpoint: - endpoint[e] = {} - endpoint = endpoint[e] - override = endpoint.get(endpoint_bits[-1]) - provider = source.buildDataProvider(self._page, override) - endpoint[endpoint_bits[-1]] = provider + for source in self._page.app.sources + self._page.app.generators: + if source.data_endpoint: + endpoint_bits = re_endpoint_sep.split(source.data_endpoint) + endpoint = self._dict + for e in endpoint_bits[:-1]: + if e not in endpoint: + endpoint[e] = {} + endpoint = endpoint[e] + override = endpoint.get(endpoint_bits[-1]) + provider = source.buildDataProvider(self._page, override) + endpoint[endpoint_bits[-1]] = provider