Mercurial > piecrust2
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 870:48d25fd68b8d | 871:504ddb370df8 |
|---|---|
| 81 | 81 |
| 82 def __init__(self, app, name, config): | 82 def __init__(self, app, name, config): |
| 83 self.app = app | 83 self.app = app |
| 84 self.name = name | 84 self.name = name |
| 85 self.config = config or {} | 85 self.config = config or {} |
| 86 self._cache = None | |
| 86 | 87 |
| 87 @property | 88 @property |
| 88 def is_theme_source(self): | 89 def is_theme_source(self): |
| 89 return self.config['realm'] == REALM_THEME | 90 return self.config['realm'] == REALM_THEME |
| 90 | 91 |
| 97 | 98 |
| 98 def getItemMtime(self, item): | 99 def getItemMtime(self, item): |
| 99 raise NotImplementedError() | 100 raise NotImplementedError() |
| 100 | 101 |
| 101 def getAllContents(self): | 102 def getAllContents(self): |
| 103 if self._cache is not None: | |
| 104 return self._cache | |
| 105 | |
| 106 cache = [] | |
| 102 stack = collections.deque() | 107 stack = collections.deque() |
| 103 stack.append(None) | 108 stack.append(None) |
| 104 while len(stack) > 0: | 109 while len(stack) > 0: |
| 105 cur = stack.popleft() | 110 cur = stack.popleft() |
| 106 try: | 111 try: |
| 110 if contents is not None: | 115 if contents is not None: |
| 111 for c in contents: | 116 for c in contents: |
| 112 if c.is_group: | 117 if c.is_group: |
| 113 stack.append(c) | 118 stack.append(c) |
| 114 else: | 119 else: |
| 115 yield c | 120 cache.append(c) |
| 121 self._cache = cache | |
| 122 return cache | |
| 116 | 123 |
| 117 def getContents(self, group): | 124 def getContents(self, group): |
| 118 raise NotImplementedError("'%s' doesn't implement 'getContents'." % | 125 raise NotImplementedError("'%s' doesn't implement 'getContents'." % |
| 119 self.__class__) | 126 self.__class__) |
| 120 | 127 |
