asyncio: Remove asyncio/compat.py (#4606)

The asyncio/compat.py file was written to support Python < 3.5 and
Python < 3.5.2. But Python 3.5 doesn't accept bugfixes anymore, only
security fixes. There is no more need to backport bugfixes to Python
3.5, and so no need to have a single code base for Python 3.5, 3.6
and 3.7.

Say hello (again) to "async" and "await", who became real keywords in
Python 3.7 ;-)
This commit is contained in:
Victor Stinner 2017-11-28 14:43:52 +01:00 committed by GitHub
parent a10dc3efcb
commit 3f438a9fa0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 37 additions and 60 deletions

View File

@ -1,6 +0,0 @@
"""Compatibility helpers for the different Python versions."""
import sys
PY35 = sys.version_info >= (3, 5)
PY352 = sys.version_info >= (3, 5, 2)

View File

@ -9,7 +9,6 @@ import sys
import traceback
import types
from . import compat
from . import constants
from . import events
from . import base_futures
@ -151,8 +150,6 @@ class CoroWrapper:
def gi_code(self):
return self.gen.gi_code
if compat.PY35:
def __await__(self):
cr_await = getattr(self.gen, 'cr_await', None)
if cr_await is not None:

View File

@ -9,7 +9,6 @@ import sys
import traceback
from . import base_futures
from . import compat
from . import events
@ -238,7 +237,6 @@ class Future:
assert self.done(), "yield from wasn't used with future"
return self.result() # May raise too.
if compat.PY35:
__await__ = __iter__ # make compatible with 'await' expression

View File

@ -4,7 +4,6 @@ __all__ = ['Lock', 'Event', 'Condition', 'Semaphore', 'BoundedSemaphore']
import collections
from . import compat
from . import events
from . import futures
from .coroutines import coroutine
@ -67,8 +66,6 @@ class _ContextManagerMixin:
yield from self.acquire()
return _ContextManager(self)
if compat.PY35:
def __await__(self):
# To make "with await lock" work.
yield from self.acquire()

View File

@ -5,7 +5,6 @@ __all__ = ['Queue', 'PriorityQueue', 'LifoQueue', 'QueueFull', 'QueueEmpty']
import collections
import heapq
from . import compat
from . import events
from . import locks
from .coroutines import coroutine
@ -251,9 +250,3 @@ class LifoQueue(Queue):
def _get(self):
return self._queue.pop()
if not compat.PY35:
JoinableQueue = Queue
"""Deprecated alias for Queue."""
__all__.append('JoinableQueue')

View File

@ -12,7 +12,6 @@ if hasattr(socket, 'AF_UNIX'):
__all__.extend(['open_unix_connection', 'start_unix_server'])
from . import coroutines
from . import compat
from . import events
from . import protocols
from .coroutines import coroutine

View File

@ -13,7 +13,6 @@ import warnings
import weakref
from . import base_tasks
from . import compat
from . import coroutines
from . import events
from . import futures
@ -525,7 +524,7 @@ def ensure_future(coro_or_future, *, loop=None):
if task._source_traceback:
del task._source_traceback[-1]
return task
elif compat.PY35 and inspect.isawaitable(coro_or_future):
elif inspect.isawaitable(coro_or_future):
return ensure_future(_wrap_awaitable(coro_or_future), loop=loop)
else:
raise TypeError('An asyncio.Future, a coroutine or an awaitable is '