summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-11-28 13:43:52 (GMT)
committerGitHub <noreply@github.com>2017-11-28 13:43:52 (GMT)
commit3f438a9fa0aab5a598b4c94bbc24f9d0a23d012e (patch)
treea56013ffbf9cd0c3371f3c73e35bd966b6def7f0 /Lib
parenta10dc3efcbba8aa7cc7d1a017f8b22fc4fa8e87c (diff)
downloadcpython-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.py6
-rw-r--r--Lib/asyncio/coroutines.py47
-rw-r--r--Lib/asyncio/futures.py4
-rw-r--r--Lib/asyncio/locks.py29
-rw-r--r--Lib/asyncio/queues.py7
-rw-r--r--Lib/asyncio/streams.py1
-rw-r--r--Lib/asyncio/tasks.py3
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 '