class ThisThreadGenerator(object): | |
def __init__(self, generator_func, user_param=None): | |
super().__init__() | |
self.generator_func = generator_func | |
self.user_param = user_param | |
self.initialized = False | |
def __iter__(self): | |
return self | |
def __next__(self): | |
if not self.initialized: | |
self.initialized = True | |
self.generator_func = self.generator_func(self.user_param) | |
return next(self.generator_func) |