Fix py3.7 syntax error caused by async keyword (#180)

As async is the keyword since Python 3.7, let's use gettattr
built-in function to call async function from asyncio.
pull/186/head
Michal Arbet 2018-07-31 15:48:23 +03:00 committed by Ilya Etingof
parent 2048a92303
commit 0fba331b55
2 changed files with 3 additions and 3 deletions

View File

@ -90,7 +90,7 @@ class DgramAsyncioProtocol(asyncio.DatagramProtocol, AbstractAsyncioTransport):
if IS_PYTHON_344_PLUS:
self._lport = asyncio.ensure_future(c)
else: # pragma: no cover
self._lport = asyncio.async(c)
self._lport = getattr(asyncio, 'async')(c)
except Exception:
raise error.CarrierError(';'.join(traceback.format_exception(*sys.exc_info())))
@ -101,7 +101,7 @@ class DgramAsyncioProtocol(asyncio.DatagramProtocol, AbstractAsyncioTransport):
c = self.loop.create_datagram_endpoint(
lambda: self, local_addr=iface, family=self.sockFamily
)
self._lport = asyncio.async(c)
self._lport = getattr(asyncio, 'async')(c)
except Exception:
raise error.CarrierError(';'.join(traceback.format_exception(*sys.exc_info())))
return self

View File

@ -75,7 +75,7 @@ class AsyncioDispatcher(AbstractTransportDispatcher):
if IS_PYTHON_344_PLUS:
self.loopingcall = asyncio.ensure_future(self.handle_timeout())
else: # pragma: no cover
self.loopingcall = asyncio.async(self.handle_timeout())
self.loopingcall = getattr(asyncio, 'async')(self.handle_timeout())
AbstractTransportDispatcher.registerTransport(
self, tDomain, transport
)