diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-02-11 10:54:08 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-02-11 10:54:08 (GMT) |
commit | 208556c51ff5598070ff64f0a741628152846933 (patch) | |
tree | 9e294be691519a297c693ac422cf54cdfa86943c /Lib/asyncio | |
parent | 20e0743a5603479c56f32209b77a8bfac87baf53 (diff) | |
download | cpython-208556c51ff5598070ff64f0a741628152846933.zip cpython-208556c51ff5598070ff64f0a741628152846933.tar.gz cpython-208556c51ff5598070ff64f0a741628152846933.tar.bz2 |
asyncio, Tulip issue 131: as_completed() and wait() now raises a TypeError if
the list of futures is not a list but a Future, Task or coroutine object
Diffstat (limited to 'Lib/asyncio')
-rw-r--r-- | Lib/asyncio/tasks.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 5ad0652..81a125f 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -358,6 +358,8 @@ def wait(fs, *, loop=None, timeout=None, return_when=ALL_COMPLETED): Note: This does not raise TimeoutError! Futures that aren't done when the timeout occurs are returned in the second set. """ + if isinstance(fs, futures.Future) or iscoroutine(fs): + raise TypeError("expect a list of futures, not %s" % type(fs).__name__) if not fs: raise ValueError('Set of coroutines/Futures is empty.') @@ -474,6 +476,8 @@ def as_completed(fs, *, loop=None, timeout=None): Note: The futures 'f' are not necessarily members of fs. """ + if isinstance(fs, futures.Future) or iscoroutine(fs): + raise TypeError("expect a list of futures, not %s" % type(fs).__name__) loop = loop if loop is not None else events.get_event_loop() deadline = None if timeout is None else loop.time() + timeout todo = {async(f, loop=loop) for f in set(fs)} |