comparison piecrust/sources/base.py @ 840:7f3043f9f26f

internal: Don't check for a page repository, there's always one.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 15 Feb 2017 22:17:13 -0800
parents cb39c0dbe5f0
children 4850f8c21b6e
comparison
equal deleted inserted replaced
839:b8f089092281 840:7f3043f9f26f
52 path, _ = self.source.resolveRef(self.rel_path) 52 path, _ = self.source.resolveRef(self.rel_path)
53 return path 53 return path
54 54
55 def buildPage(self): 55 def buildPage(self):
56 repo = self.source.app.env.page_repository 56 repo = self.source.app.env.page_repository
57 if repo is not None: 57 cache_key = '%s:%s' % (self.source.name, self.rel_path)
58 cache_key = '%s:%s' % (self.source.name, self.rel_path) 58 return repo.get(cache_key, self._doBuildPage)
59 return repo.get(cache_key, self._doBuildPage)
60 return self._doBuildPage()
61 59
62 def _doBuildPage(self): 60 def _doBuildPage(self):
63 logger.debug("Building page: %s" % self.path) 61 logger.debug("Building page: %s" % self.path)
64 page = Page(self.source, copy.deepcopy(self.metadata), self.rel_path) 62 page = Page(self.source, copy.deepcopy(self.metadata), self.rel_path)
65 return page 63 return page
128 if not self._provider_type: 126 if not self._provider_type:
129 from piecrust.data.provider import get_data_provider_class 127 from piecrust.data.provider import get_data_provider_class
130 self._provider_type = get_data_provider_class(self.app, 128 self._provider_type = get_data_provider_class(self.app,
131 self.data_type) 129 self.data_type)
132 return self._provider_type(self, page, override) 130 return self._provider_type(self, page, override)
133 131
134 def finalizeConfig(self, page): 132 def finalizeConfig(self, page):
135 pass 133 pass
136 134
137 def buildAssetor(self, page, uri): 135 def buildAssetor(self, page, uri):
138 return Assetor(page, uri) 136 return Assetor(page, uri)