- Add pr_1.patch for Python 3.7+ support - Activate test suite on Python 3.7+ OBS-URL: https://build.opensuse.org/request/show/827910 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-aioeventlet?expand=0&rev=11
58 lines
2.3 KiB
Diff
58 lines
2.3 KiB
Diff
commit fb25301bd9dc5dbf77a66349b2434ee672868fd2
|
|
Author: John Vandenberg <jayvdb@gmail.com>
|
|
Date: Wed Aug 19 17:21:53 2020 +0700
|
|
|
|
aioeventlet: Fix breakage in Python 3.7+ asyncio
|
|
|
|
Index: aioeventlet-0.5.1/aioeventlet.py
|
|
===================================================================
|
|
--- aioeventlet-0.5.1.orig/aioeventlet.py
|
|
+++ aioeventlet-0.5.1/aioeventlet.py
|
|
@@ -10,6 +10,12 @@ logger = logging.getLogger('aioeventlet'
|
|
|
|
try:
|
|
import asyncio
|
|
+ try:
|
|
+ import selectors
|
|
+ except ImportError:
|
|
+ pass
|
|
+ else:
|
|
+ asyncio.selectors = selectors
|
|
|
|
if sys.platform == 'win32':
|
|
from asyncio.windows_utils import socketpair
|
|
@@ -212,16 +218,16 @@ class EventLoop(asyncio.SelectorEventLoo
|
|
# the selector
|
|
self._write_to_self()
|
|
|
|
- def call_soon(self, callback, *args):
|
|
- handle = super(EventLoop, self).call_soon(callback, *args)
|
|
+ def call_soon(self, callback, *args, **kwargs):
|
|
+ handle = super(EventLoop, self).call_soon(callback, *args, **kwargs)
|
|
if self._selector is not None and self._selector._event:
|
|
# selector.select() is running: write into the self-pipe to wake up
|
|
# the selector
|
|
self._write_to_self()
|
|
return handle
|
|
|
|
- def call_at(self, when, callback, *args):
|
|
- handle = super(EventLoop, self).call_at(when, callback, *args)
|
|
+ def call_at(self, when, callback, *args, **kwargs):
|
|
+ handle = super(EventLoop, self).call_at(when, callback, *args, **kwargs)
|
|
if self._selector is not None and self._selector._event:
|
|
# selector.select() is running: write into the self-pipe to wake up
|
|
# the selector
|
|
@@ -329,7 +335,11 @@ def yield_future(future, loop=None):
|
|
The function must not be called from the greenthread
|
|
running the aioeventlet event loop.
|
|
"""
|
|
- future = asyncio.async(future, loop=loop)
|
|
+ if hasattr(asyncio, "ensure_future"):
|
|
+ ensure_future = asyncio.ensure_future
|
|
+ else: # use of async keyword has been Deprecated since Python 3.4.4
|
|
+ ensure_future = getattr(asyncio, "async")
|
|
+ future = ensure_future(future, loop=loop)
|
|
if future._loop._greenthread == eventlet.getcurrent():
|
|
raise RuntimeError("yield_future() must not be called from "
|
|
"the greenthread of the aioeventlet event loop")
|