Mercurial > piecrust2
diff piecrust/sources/base.py @ 871:504ddb370df8
refactor: Fixing some issues with baking assets.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 13 Jun 2017 22:30:27 -0700 |
parents | d9059257743c |
children | 1d0364614665 |
line wrap: on
line diff
--- a/piecrust/sources/base.py Mon Jun 12 22:30:06 2017 -0700 +++ b/piecrust/sources/base.py Tue Jun 13 22:30:27 2017 -0700 @@ -83,6 +83,7 @@ self.app = app self.name = name self.config = config or {} + self._cache = None @property def is_theme_source(self): @@ -99,6 +100,10 @@ raise NotImplementedError() def getAllContents(self): + if self._cache is not None: + return self._cache + + cache = [] stack = collections.deque() stack.append(None) while len(stack) > 0: @@ -112,7 +117,9 @@ if c.is_group: stack.append(c) else: - yield c + cache.append(c) + self._cache = cache + return cache def getContents(self, group): raise NotImplementedError("'%s' doesn't implement 'getContents'." %