File pr_1.patch of Package python-aioeventlet

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")
openSUSE Build Service is sponsored by