Mercurial > piecrust2
comparison piecrust/processing/worker.py @ 435:5ceb86818dc5
bug: Fix a crash when errors occur while processing an asset.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 27 Jun 2015 21:48:12 -0700 |
parents | 4a43d7015b75 |
children | 171dde4f61dc |
comparison
equal
deleted
inserted
replaced
434:6238dcfc7a78 | 435:5ceb86818dc5 |
---|---|
151 with app.env.timerScope('BuildProcessingTree'): | 151 with app.env.timerScope('BuildProcessingTree'): |
152 builder = ProcessingTreeBuilder(processors) | 152 builder = ProcessingTreeBuilder(processors) |
153 tree_root = builder.build(rel_path) | 153 tree_root = builder.build(rel_path) |
154 result.flags |= FLAG_PREPARED | 154 result.flags |= FLAG_PREPARED |
155 except ProcessingTreeError as ex: | 155 except ProcessingTreeError as ex: |
156 result.errors += _get_errors(ex) | 156 result.errors = _get_errors(ex) |
157 return result | 157 return result |
158 | 158 |
159 # Prepare and run the tree. | 159 # Prepare and run the tree. |
160 print_node(tree_root, recursive=True) | 160 print_node(tree_root, recursive=True) |
161 leaves = tree_root.getLeaves() | 161 leaves = tree_root.getLeaves() |
175 result.flags |= FLAG_PROCESSED | 175 result.flags |= FLAG_PROCESSED |
176 except ProcessingTreeError as ex: | 176 except ProcessingTreeError as ex: |
177 if isinstance(ex, ProcessorError): | 177 if isinstance(ex, ProcessorError): |
178 ex = ex.__cause__ | 178 ex = ex.__cause__ |
179 # Need to strip out colored errors from external processes. | 179 # Need to strip out colored errors from external processes. |
180 result.errors += _get_errors(ex, strip_colors=True) | 180 result.errors = _get_errors(ex, strip_colors=True) |
181 | 181 |
182 return result | 182 return result |
183 | 183 |
184 | 184 |
185 def get_filtered_processors(processors, authorized_names): | 185 def get_filtered_processors(processors, authorized_names): |