diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-09-10 11:26:54 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-10 11:26:54 (GMT) |
commit | bb8fc8bd309419c159b632068dff73c3c76d478c (patch) | |
tree | 1e2a9ae3cd45995c0edbdbfb3dac44b10a460c2e /Lib/asyncio | |
parent | ab74e52f768be5048faf2a11e78822533afebcb7 (diff) | |
download | cpython-bb8fc8bd309419c159b632068dff73c3c76d478c.zip cpython-bb8fc8bd309419c159b632068dff73c3c76d478c.tar.gz cpython-bb8fc8bd309419c159b632068dff73c3c76d478c.tar.bz2 |
bpo-36373: Deprecate explicit loop parameter in all public asyncio APIs [locks] (GH-13920)
This PR deprecate explicit loop parameters in all public asyncio APIs
This issues is split to be easier to review.
Third step: locks.py
https://bugs.python.org/issue36373
(cherry picked from commit 537877d85d1c27d2c2f5189e39da64a7a0c413d3)
Co-authored-by: Emmanuel Arias <emmanuelarias30@gmail.com>
Diffstat (limited to 'Lib/asyncio')
-rw-r--r-- | Lib/asyncio/locks.py | 41 |
1 files changed, 29 insertions, 12 deletions
diff --git a/Lib/asyncio/locks.py b/Lib/asyncio/locks.py index 1324eef..f63d4ce 100644 --- a/Lib/asyncio/locks.py +++ b/Lib/asyncio/locks.py @@ -160,10 +160,13 @@ class Lock(_ContextManagerMixin): def __init__(self, *, loop=None): self._waiters = None self._locked = False - if loop is not None: - self._loop = loop - else: + if loop is None: self._loop = events.get_event_loop() + else: + self._loop = loop + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", + DeprecationWarning, stacklevel=2) def __repr__(self): res = super().__repr__() @@ -253,10 +256,13 @@ class Event: def __init__(self, *, loop=None): self._waiters = collections.deque() self._value = False - if loop is not None: - self._loop = loop - else: + if loop is None: self._loop = events.get_event_loop() + else: + self._loop = loop + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", + DeprecationWarning, stacklevel=2) def __repr__(self): res = super().__repr__() @@ -317,10 +323,13 @@ class Condition(_ContextManagerMixin): """ def __init__(self, lock=None, *, loop=None): - if loop is not None: - self._loop = loop - else: + if loop is None: self._loop = events.get_event_loop() + else: + self._loop = loop + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", + DeprecationWarning, stacklevel=2) if lock is None: lock = Lock(loop=self._loop) @@ -445,10 +454,13 @@ class Semaphore(_ContextManagerMixin): raise ValueError("Semaphore initial value must be >= 0") self._value = value self._waiters = collections.deque() - if loop is not None: - self._loop = loop - else: + if loop is None: self._loop = events.get_event_loop() + else: + self._loop = loop + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", + DeprecationWarning, stacklevel=2) def __repr__(self): res = super().__repr__() @@ -508,6 +520,11 @@ class BoundedSemaphore(Semaphore): """ def __init__(self, value=1, *, loop=None): + if loop: + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", + DeprecationWarning, stacklevel=2) + self._bound_value = value super().__init__(value, loop=loop) |