[issue24004] avoid explicit generator type check in asyncio

2015-05-31 Thread Roundup Robot
Roundup Robot added the comment: New changeset 8296f0119f20 by Yury Selivanov in branch '3.5': Issue 24004: Fix DeprecationWarning in a unittest https://hg.python.org/cpython/rev/8296f0119f20 New changeset 60f5091cbfbf by Yury Selivanov in branch 'default': Issue 24004: Fix DeprecationWarning

[issue24004] avoid explicit generator type check in asyncio

2015-05-31 Thread Yury Selivanov
Yury Selivanov added the comment: Thanks, Martin! -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24004 ___ ___ Python-bugs-list mailing list

[issue24004] avoid explicit generator type check in asyncio

2015-05-31 Thread Martin Panter
Martin Panter added the comment: Yury, your last change causes DeprecationWarning: [ 38/398] test_asyncio /media/disk/home/proj/python/cpython/Lib/test/test_asyncio/test_pep492.py:119: DeprecationWarning: Please use assertEqual instead. self.assertEquals(coro.send(None), 'spam') --

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Yury Selivanov
Changes by Yury Selivanov yseliva...@gmail.com: -- resolution: fixed - status: closed - pending ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24004 ___

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Yury Selivanov
Yury Selivanov added the comment: Why is the AwaitableABC type check needed, in addition to looking up the relevant method? IIUC, the type check will just do a lookup of the same method if the type hasn't been registered as Awaitable explicitly. Because __await__ should be defined on the

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Stefan Behnel
Stefan Behnel added the comment: Cython functions that return a generator aren't special in any way, so it's actually correct that isgeneratorfunction() always returns False. I mean, I could set the CO_COROUTINE flag on the code object that we fake, but that wouldn't help much as Cython's

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Stefan Behnel
Stefan Behnel added the comment: Hmm, I just noticed that this only started failing when I disabled the asyncio module patching for 3.5beta1+, assuming that it now all works. A side effect of that was that also the inspect module is no longer patched into returning True from isgenerator() for

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Stefan Behnel
Stefan Behnel added the comment: ... except that the returned object may not actually be a Cython generator but a GeneratorWrapper, now that the patch from issue 24316 is in place. :) Then I guess we're back to the point where duck-typing and calling __await__() is a good idea. --

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Yury Selivanov
Yury Selivanov added the comment: Stefan, Then I guess we're back to the point where duck-typing and calling __await__() is a good idea. Please test the attached patch. I agree this is a good idea. -- keywords: +patch Added file: http://bugs.python.org/file39569/coroutine.patch

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Stefan Behnel
Stefan Behnel added the comment: Works for me. Why is the AwaitableABC type check needed, in addition to looking up the relevant method? IIUC, the type check will just do a lookup of the same method if the type hasn't been registered as Awaitable explicitly. -- status: pending - open

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Roundup Robot
Roundup Robot added the comment: New changeset b7b73029c825 by Yury Selivanov in branch '3.4': Issue 24004: Support Awaitables (pep 492) in @asyncio.coroutine decorator https://hg.python.org/cpython/rev/b7b73029c825 New changeset d1959cafc68c by Yury Selivanov in branch '3.5': Issue 24004:

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Roundup Robot
Roundup Robot added the comment: New changeset 5f1e24f083c7 by Yury Selivanov in branch '3.5': Issue 24004: Add a unittest for @asyncio.coroutine supporting Awaitables https://hg.python.org/cpython/rev/5f1e24f083c7 New changeset 9d261141eb0c by Yury Selivanov in branch 'default': Issue 24004:

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Yury Selivanov
Changes by Yury Selivanov yseliva...@gmail.com: -- resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24004 ___

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Stefan Behnel
Stefan Behnel added the comment: I found one more place in asyncio.coroutines, around line 190 in the coroutine() decorator: if inspect.isgeneratorfunction(func): coro = func else: @functools.wraps(func) def coro(*args, **kw): res = func(*args, **kw)

[issue24004] avoid explicit generator type check in asyncio

2015-05-30 Thread Yury Selivanov
Yury Selivanov added the comment: What inspect.isgeneratorfunction(func) returns for Cython generators? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24004 ___

[issue24004] avoid explicit generator type check in asyncio

2015-05-21 Thread Yury Selivanov
Yury Selivanov added the comment: This issue was resolved in https://github.com/python/asyncio/commit/3a09a93277afc2cdb43badf92a2c85c2789813f6. -- resolution: - fixed stage: - resolved status: open - closed versions: -Python 3.4 ___ Python

[issue24004] avoid explicit generator type check in asyncio

2015-04-20 Thread Stefan Behnel
Stefan Behnel added the comment: I was (silently) hoping that this patching would eventually not be necessary anymore because the one place (currently inspect.isgenerator()) would be adapted to check for the generator protocol rather than the generator type. But that was going to go into a

[issue24004] avoid explicit generator type check in asyncio

2015-04-20 Thread Stefan Behnel
Stefan Behnel added the comment: I created issue 24018 for adding a Generator ABC to collections.abc. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24004 ___

[issue24004] avoid explicit generator type check in asyncio

2015-04-19 Thread Stefan Behnel
New submission from Stefan Behnel: asyncio/coroutines.py contains this code: _COROUTINE_TYPES = (types.GeneratorType, CoroWrapper) def iscoroutine(obj): Return True if obj is a coroutine object. return isinstance(obj, _COROUTINE_TYPES) In other places, it uses inspect.isgenerator()

[issue24004] avoid explicit generator type check in asyncio

2015-04-19 Thread Guido van Rossum
Guido van Rossum added the comment: Uh, wait. Who's patching anything? That breaks the warranty. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24004 ___