[Python-checkins] cpython (3.4): asyncio: Use 'collections.abc.Coroutine' in asyncio.iscoroutine (in 3.5)

yury.selivanov python-checkins at python.org
Wed May 13 21:22:25 CEST 2015


https://hg.python.org/cpython/rev/0715059b3b55
changeset:   96033:0715059b3b55
branch:      3.4
parent:      96031:8298ea629c1d
user:        Yury Selivanov <yselivanov at sprymix.com>
date:        Wed May 13 15:21:41 2015 -0400
summary:
  asyncio: Use 'collections.abc.Coroutine' in asyncio.iscoroutine (in 3.5)

files:
  Lib/asyncio/coroutines.py |  8 ++++++++
  1 files changed, 8 insertions(+), 0 deletions(-)


diff --git a/Lib/asyncio/coroutines.py b/Lib/asyncio/coroutines.py
--- a/Lib/asyncio/coroutines.py
+++ b/Lib/asyncio/coroutines.py
@@ -53,6 +53,11 @@
     _is_native_coro_code = lambda code: (code.co_flags &
                                          inspect.CO_COROUTINE)
 
+try:
+    from collections.abc import Coroutine as CoroutineABC
+except ImportError:
+    CoroutineABC = None
+
 
 # Check for CPython issue #21209
 def has_yield_from_bug():
@@ -219,6 +224,9 @@
 
 
 _COROUTINE_TYPES = (types.GeneratorType, CoroWrapper)
+if CoroutineABC is not None:
+    _COROUTINE_TYPES += (CoroutineABC,)
+
 
 def iscoroutine(obj):
     """Return True if obj is a coroutine object."""

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list