From d0ebf13e50dd736cdb355fa42c23837abbb88127 Mon Sep 17 00:00:00 2001 From: Matthias Bussonnier Date: Mon, 20 May 2019 23:20:10 -0700 Subject: bpo-36932: use proper deprecation-removed directive (GH-13349) .. And update some deprecation warnings with version numbers. https://bugs.python.org/issue36932 --- Doc/library/asyncio-task.rst | 37 ++++++++++++++++++++++--------------- Doc/library/sys.rst | 2 +- Lib/asyncio/tasks.py | 16 ++++++++-------- 3 files changed, 31 insertions(+), 24 deletions(-) diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index bb064bd..d94fa58 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -279,8 +279,8 @@ Sleeping ``sleep()`` always suspends the current task, allowing other tasks to run. - The *loop* argument is deprecated and scheduled for removal - in Python 3.10. + .. deprecated-removed:: 3.8 3.10 + The *loop* parameter. .. _asyncio_example_sleep: @@ -437,8 +437,8 @@ Timeouts If the wait is cancelled, the future *aw* is also cancelled. - The *loop* argument is deprecated and scheduled for removal - in Python 3.10. + .. deprecated-removed:: 3.8 3.10 + The *loop* parameter. .. _asyncio_example_waitfor: @@ -478,10 +478,12 @@ Waiting Primitives set concurrently and block until the condition specified by *return_when*. - If any awaitable in *aws* is a coroutine, it is automatically - scheduled as a Task. Passing coroutines objects to - ``wait()`` directly is deprecated as it leads to - :ref:`confusing behavior `. + .. deprecated:: 3.8 + + If any awaitable in *aws* is a coroutine, it is automatically + scheduled as a Task. Passing coroutines objects to + ``wait()`` directly is deprecated as it leads to + :ref:`confusing behavior `. Returns two sets of Tasks/Futures: ``(done, pending)``. @@ -489,8 +491,8 @@ Waiting Primitives done, pending = await asyncio.wait(aws) - The *loop* argument is deprecated and scheduled for removal - in Python 3.10. + .. deprecated-removed:: 3.8 3.10 + The *loop* parameter. *timeout* (a float or int), if specified, can be used to control the maximum number of seconds to wait before returning. @@ -550,6 +552,8 @@ Waiting Primitives if task in done: # Everything will work as expected now. + .. deprecated:: 3.8 + Passing coroutine objects to ``wait()`` directly is deprecated. @@ -868,8 +872,10 @@ Task Object If *loop* is ``None``, the :func:`get_event_loop` function is used to get the current loop. - This method is **deprecated** and will be removed in - Python 3.9. Use the :func:`asyncio.all_tasks` function instead. + .. deprecated-removed:: 3.7 3.9 + + Do not call this as a task method. Use the :func:`asyncio.all_tasks` + function instead. .. classmethod:: current_task(loop=None) @@ -878,9 +884,10 @@ Task Object If *loop* is ``None``, the :func:`get_event_loop` function is used to get the current loop. - This method is **deprecated** and will be removed in - Python 3.9. Use the :func:`asyncio.current_task` function - instead. + .. deprecated-removed:: 3.7 3.9 + + Do not call this as a task method. Use the + :func:`asyncio.current_task` function instead. .. _asyncio_generator_based_coro: diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index 5039ffa..7d27c89 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -1353,7 +1353,7 @@ always available. This function has been added on a provisional basis (see :pep:`411` for details.) Use it only for debugging purposes. - .. deprecated:: 3.7 + .. deprecated-removed:: 3.7 3.8 The coroutine wrapper functionality has been deprecated, and will be removed in 3.8. See :issue:`32591` for details. diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index b274b9b..1dc5952 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -95,7 +95,7 @@ class Task(futures._PyFuture): # Inherit Python Task implementation None is returned when called not in the context of a Task. """ - warnings.warn("Task.current_task() is deprecated, " + warnings.warn("Task.current_task() is deprecated since Python 3.7, " "use asyncio.current_task() instead", DeprecationWarning, stacklevel=2) @@ -109,7 +109,7 @@ class Task(futures._PyFuture): # Inherit Python Task implementation By default all tasks for the current event loop are returned. """ - warnings.warn("Task.all_tasks() is deprecated, " + warnings.warn("Task.all_tasks() is deprecated since Python 3.7, " "use asyncio.all_tasks() instead", DeprecationWarning, stacklevel=2) @@ -388,8 +388,8 @@ async def wait(fs, *, loop=None, timeout=None, return_when=ALL_COMPLETED): if loop is None: loop = events.get_running_loop() else: - warnings.warn("The loop argument is deprecated and scheduled for " - "removal in Python 3.10.", + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", DeprecationWarning, stacklevel=2) fs = {ensure_future(f, loop=loop) for f in set(fs)} @@ -418,8 +418,8 @@ async def wait_for(fut, timeout, *, loop=None): if loop is None: loop = events.get_running_loop() else: - warnings.warn("The loop argument is deprecated and scheduled for " - "removal in Python 3.10.", + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", DeprecationWarning, stacklevel=2) if timeout is None: @@ -600,8 +600,8 @@ async def sleep(delay, result=None, *, loop=None): if loop is None: loop = events.get_running_loop() else: - warnings.warn("The loop argument is deprecated and scheduled for " - "removal in Python 3.10.", + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", DeprecationWarning, stacklevel=2) future = loop.create_future() -- cgit v0.12