diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-11-28 13:43:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-28 13:43:52 (GMT) |
commit | 3f438a9fa0aab5a598b4c94bbc24f9d0a23d012e (patch) | |
tree | a56013ffbf9cd0c3371f3c73e35bd966b6def7f0 /Lib | |
parent | a10dc3efcbba8aa7cc7d1a017f8b22fc4fa8e87c (diff) | |
download | cpython-3f438a9fa0aab5a598b4c94bbc24f9d0a23d012e.zip cpython-3f438a9fa0aab5a598b4c94bbc24f9d0a23d012e.tar.gz cpython-3f438a9fa0aab5a598b4c94bbc24f9d0a23d012e.tar.bz2 |
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 ;-)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/asyncio/compat.py | 6 | ||||
-rw-r--r-- | Lib/asyncio/coroutines.py | 47 | ||||
-rw-r--r-- | Lib/asyncio/futures.py | 4 | ||||
-rw-r--r-- | Lib/asyncio/locks.py | 29 | ||||
-rw-r--r-- | Lib/asyncio/queues.py | 7 | ||||
-rw-r--r-- | Lib/asyncio/streams.py | 1 | ||||
-rw-r--r-- | Lib/asyncio/tasks.py | 3 |
7 files changed, 37 insertions, 60 deletions
diff --git a/Lib/asyncio/compat.py b/Lib/asyncio/compat.py deleted file mode 100644 index 520ec68..0000000 --- a/Lib/asyncio/compat.py +++ /dev/null @@ -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) diff --git a/Lib/asyncio/coroutines.py b/Lib/asyncio/coroutines.py index a87c9f9..3e305f9 100644 --- a/Lib/asyncio/coroutines.py +++ b/Lib/asyncio/coroutines.py @@ -9,7 +9,6 @@ import sys import traceback import types -from . import compat from . import constants from . import events from . import base_futures @@ -151,35 +150,33 @@ 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: - raise RuntimeError( - "Cannot await on coroutine {!r} while it's " - "awaiting for {!r}".format(self.gen, cr_await)) - return self + def __await__(self): + cr_await = getattr(self.gen, 'cr_await', None) + if cr_await is not None: + raise RuntimeError( + "Cannot await on coroutine {!r} while it's " + "awaiting for {!r}".format(self.gen, cr_await)) + return self - @property - def gi_yieldfrom(self): - return self.gen.gi_yieldfrom + @property + def gi_yieldfrom(self): + return self.gen.gi_yieldfrom - @property - def cr_await(self): - return self.gen.cr_await + @property + def cr_await(self): + return self.gen.cr_await - @property - def cr_running(self): - return self.gen.cr_running + @property + def cr_running(self): + return self.gen.cr_running - @property - def cr_code(self): - return self.gen.cr_code + @property + def cr_code(self): + return self.gen.cr_code - @property - def cr_frame(self): - return self.gen.cr_frame + @property + def cr_frame(self): + return self.gen.cr_frame def __del__(self): # Be careful accessing self.gen.frame -- self.gen might not exist. diff --git a/Lib/asyncio/futures.py b/Lib/asyncio/futures.py index b2e57ef..7b6204a 100644 --- a/Lib/asyncio/futures.py +++ b/Lib/asyncio/futures.py @@ -9,7 +9,6 @@ import sys import traceback from . import base_futures -from . import compat from . import events @@ -238,8 +237,7 @@ 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 + __await__ = __iter__ # make compatible with 'await' expression # Needed for testing purposes. diff --git a/Lib/asyncio/locks.py b/Lib/asyncio/locks.py index 9266183..750c435 100644 --- a/Lib/asyncio/locks.py +++ b/Lib/asyncio/locks.py @@ -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,23 +66,21 @@ 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() - return _ContextManager(self) + def __await__(self): + # To make "with await lock" work. + yield from self.acquire() + return _ContextManager(self) - @coroutine - def __aenter__(self): - yield from self.acquire() - # We have no use for the "as ..." clause in the with - # statement for locks. - return None + @coroutine + def __aenter__(self): + yield from self.acquire() + # We have no use for the "as ..." clause in the with + # statement for locks. + return None - @coroutine - def __aexit__(self, exc_type, exc, tb): - self.release() + @coroutine + def __aexit__(self, exc_type, exc, tb): + self.release() class Lock(_ContextManagerMixin): diff --git a/Lib/asyncio/queues.py b/Lib/asyncio/queues.py index 1c66d67..4fc681d 100644 --- a/Lib/asyncio/queues.py +++ b/Lib/asyncio/queues.py @@ -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') diff --git a/Lib/asyncio/streams.py b/Lib/asyncio/streams.py index 30b751e..05774e9 100644 --- a/Lib/asyncio/streams.py +++ b/Lib/asyncio/streams.py @@ -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 diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 52fef18..5d744c3 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -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 ' |