# uncompyle6 version 3.9.3 # Python bytecode version base 2.6 (62161) # Decompiled from: Python 3.9.25 (main, Oct 31 2025, 23:16:49) # [GCC 14.2.0] # Embedded file name: future.pyc # Compiled at: 2022-04-20 07:08:29 from threading import * import copy, mytime, traceback, sys, inspect, mytime, wx class Future: def __init__(self, delay, func, *param): self.__done = 0 self.__result = None self.__status = 'working' self.__C = Condition() self.__T = Thread(target=self.Wrapper, args=(func, param, delay)) self.__T.setName('FutureThread') self.__T.start() self.calledFrom = inspect.getouterframes(inspect.currentframe(), 2)[1][3] self.funcName = func.__name__ curframe = inspect.currentframe() calframe = inspect.getouterframes(curframe, 2) return def __repr__(self): return '' def __call__(self): self.__C.acquire() while self.__done == 0: self.__C.wait() self.__C.release() a = copy.deepcopy(self.__result) return a def Wrapper(self, func, param, delay): self.__C.acquire() mytime.sleep(delay) try: self.__result = wx.CallAfter(func, *param) except: self.__result = 'Exception raised within Future, function ' + self.funcName + ' called from ' + self.calledFrom print mytime.displayTime(), self.__result traceback.print_exc(file=sys.stdout) self.__done = 1 self.__status = `(self.__result)` self.__C.notify() self.__C.release() return # okay decompiling pycode/future.pyc