def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
self.item_callback = item_callback
self.done_callback = done_callback if done_callback is not None else lambda: None
self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
self.unwind_stack = unwind_stack
self.pop_list = pop_list
try:
if self.pop_list:
self.iterator = iterable
else:
self.iterator = iter(iterable)
except (ExitNow, SystemExit):
raise
except Exception:
logger.debug("Problem constructing iterator for %s", repr(iterable))
raise
self.doit()
评论列表
文章目录