def TriggerEventWait( self, suffix, payload=None, prefix="Main", source=eg ): event = EventGhostEvent(suffix, payload, prefix, source) if event.source in self.filters: for filterFunc in self.filters[event.source]: if filterFunc(event) is True: return event executed = Event() def Execute(): try: event.Execute() finally: executed.set() def Transfer(): ActionThreadCall(Execute) event.SetShouldEnd() self.AppendAction(Transfer) executed.wait(5.0) if not executed.isSet(): eg.PrintWarningNotice( "timeout TriggerEventWait\n", traceback.format_stack() ) return event
def AssertWrapper(*args, **kwargs): if eg.mainThread != threading.currentThread(): try: raise AssertionError("Called outside MainThread: %s in %s" % (func.__name__, func.__module__)) except AssertionError: eg.PrintWarningNotice(traceback.format_exc()) return func(*args, **kwargs)