From 737c34fa85f35479acc37868958c66208349e3d7 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 11 Jul 2014 01:04:16 +0200 Subject: asyncio: sync with Tulip - CoroWrapper.__del__() now reuses repr(CoroWrapper) to log the "... was never yielded from" warning - Improve CoroWrapper: copy also the qualified name on Python 3.4, not only on Python 3.5+ --- Lib/asyncio/coroutines.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'Lib/asyncio/coroutines.py') diff --git a/Lib/asyncio/coroutines.py b/Lib/asyncio/coroutines.py index 4cbfa854ef7..c28de95a46b 100644 --- a/Lib/asyncio/coroutines.py +++ b/Lib/asyncio/coroutines.py @@ -29,8 +29,6 @@ _YIELD_FROM = opcode.opmap['YIELD_FROM'] _DEBUG = (not sys.flags.ignore_environment and bool(os.environ.get('PYTHONASYNCIODEBUG'))) -_PY35 = (sys.version_info >= (3, 5)) - # Check for CPython issue #21209 def has_yield_from_bug(): @@ -119,8 +117,7 @@ class CoroWrapper: gen = getattr(self, 'gen', None) frame = getattr(gen, 'gi_frame', None) if frame is not None and frame.f_lasti == -1: - func = events._format_callback(self.func, ()) - msg = 'Coroutine %s was never yielded from' % func + msg = '%r was never yielded from' % self tb = getattr(self, '_source_traceback', ()) if tb: tb = ''.join(traceback.format_list(tb)) @@ -155,7 +152,7 @@ def coroutine(func): if w._source_traceback: del w._source_traceback[-1] w.__name__ = func.__name__ - if _PY35: + if hasattr(func, '__qualname__'): w.__qualname__ = func.__qualname__ w.__doc__ = func.__doc__ return w @@ -178,10 +175,7 @@ def iscoroutine(obj): def _format_coroutine(coro): assert iscoroutine(coro) - if _PY35: - coro_name = coro.__qualname__ - else: - coro_name = coro.__name__ + coro_name = getattr(coro, '__qualname__', coro.__name__) filename = coro.gi_code.co_filename if (isinstance(coro, CoroWrapper) -- cgit v1.2.3