Method
__init__
(self, func, kwargs={}, callback=None)
Source from the content-addressed store, hash-verified
| 30 | """ |
| 31 | |
| 32 | def __init__(self, func, kwargs={}, callback=None): |
| 33 | self.mfunc = func |
| 34 | self.c_callback = callback |
| 35 | self.q = Queue() |
| 36 | self.sentinel = object() |
| 37 | self.kwargs = kwargs |
| 38 | self.stop_now = False |
| 39 | |
| 40 | def _callback(val): |
| 41 | if self.stop_now: |
| 42 | raise ValueError |
| 43 | self.q.put(val) |
| 44 | |
| 45 | def gentask(): |
| 46 | try: |
| 47 | ret = self.mfunc(callback=_callback, **self.kwargs) |
| 48 | except ValueError: |
| 49 | pass |
| 50 | except: |
| 51 | traceback.print_exc() |
| 52 | pass |
| 53 | |
| 54 | self.q.put(self.sentinel) |
| 55 | if self.c_callback: |
| 56 | self.c_callback(ret) |
| 57 | |
| 58 | self.thread = Thread(target=gentask) |
| 59 | self.thread.start() |
| 60 | |
| 61 | def __iter__(self): |
| 62 | return self |
Callers
nothing calls this directly
Tested by
no test coverage detected