def collect_failure(e): """\ Run a failure through the system. Create a list of things to be done for it. """ from homevent.logging import log_created from homevent.event import Event assert isinstance(e, (Event, BaseException)), "Cannot be used as an event: " + repr(e) work = WorkSequence(e, None) for wp in work_prios: for w in workers[wp]: if isinstance(w, ExcWorker) and w.does_failure(e): work.append(w) log_created(work) return work
def process(self, event=None, **k): super(SayMoreWorker, self).process(event=event, **k) w = WorkSequence(event, self) w.append(SayWorker("TellOne")) w.append(SayWorker("TellTwo")) return w