comparison piecrust/processing/records.py @ 215:a47580a0955b

bake: Better error handling for the processing pipeline. Pipeline jobs now keep track of whether they've seen any errors. This is aggregated into an overall "success" flag for the processing record. Also, jobs keep going as long as there's no critical (i.e. internal) failure happening. Errors raised by processors are also better tracked: the actual processor that failed, along with the input file, are tracks in the processing record. The `bake` command returns a failure exit code if processing saw any error.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 31 Jan 2015 17:08:02 -0800
parents 308d5180bf81
children c5ada46b281a
comparison
equal deleted inserted replaced
214:09e350db7f8f 215:a47580a0955b
7 7
8 def __init__(self): 8 def __init__(self):
9 super(ProcessorPipelineRecord, self).__init__() 9 super(ProcessorPipelineRecord, self).__init__()
10 self.out_dir = None 10 self.out_dir = None
11 self.process_time = None 11 self.process_time = None
12 self.success = False
12 13
13 def hasOverrideEntry(self, rel_path): 14 def hasOverrideEntry(self, rel_path):
14 return self.findEntry(rel_path) is not None 15 return self.findEntry(rel_path) is not None
15 16
16 def findEntry(self, rel_path): 17 def findEntry(self, rel_path):