[Python-checkins] bpo-47062: Rename factory argument to loop_factory (GH-32113)
asvetlov
webhook-mailer at python.org
Fri Mar 25 18:26:35 EDT 2022
https://github.com/python/cpython/commit/bad6ffaa64eecd33f4320ca31b1201b25cd8fc91
commit: bad6ffaa64eecd33f4320ca31b1201b25cd8fc91
branch: main
author: Andrew Svetlov <andrew.svetlov at gmail.com>
committer: asvetlov <andrew.svetlov at gmail.com>
date: 2022-03-26T00:26:23+02:00
summary:
bpo-47062: Rename factory argument to loop_factory (GH-32113)
files:
M Doc/library/asyncio-runner.rst
M Lib/asyncio/runners.py
M Lib/test/test_asyncio/test_runners.py
diff --git a/Doc/library/asyncio-runner.rst b/Doc/library/asyncio-runner.rst
index 2f4de9edaa400..31becf192ada3 100644
--- a/Doc/library/asyncio-runner.rst
+++ b/Doc/library/asyncio-runner.rst
@@ -62,7 +62,7 @@ Running an asyncio Program
Runner context manager
======================
-.. class:: Runner(*, debug=None, factory=None)
+.. class:: Runner(*, debug=None, loop_factory=None)
A context manager that simplifies *multiple* async function calls in the same
context.
@@ -74,7 +74,7 @@ Runner context manager
debug mode explicitly. ``None`` is used to respect the global
:ref:`asyncio-debug-mode` settings.
- *factory* could be used for overriding the loop creation.
+ *loop_factory* could be used for overriding the loop creation.
:func:`asyncio.new_event_loop` is used if ``None``.
Basically, :func:`asyncio.run()` example can be rewritten with the runner usage::
diff --git a/Lib/asyncio/runners.py b/Lib/asyncio/runners.py
index 975509c7d645d..768a403a85bee 100644
--- a/Lib/asyncio/runners.py
+++ b/Lib/asyncio/runners.py
@@ -21,7 +21,7 @@ class Runner:
and properly finalizes the loop at the context manager exit.
If debug is True, the event loop will be run in debug mode.
- If factory is passed, it is used for new event loop creation.
+ If loop_factory is passed, it is used for new event loop creation.
asyncio.run(main(), debug=True)
@@ -41,10 +41,10 @@ class Runner:
# Note: the class is final, it is not intended for inheritance.
- def __init__(self, *, debug=None, factory=None):
+ def __init__(self, *, debug=None, loop_factory=None):
self._state = _State.CREATED
self._debug = debug
- self._factory = factory
+ self._loop_factory = loop_factory
self._loop = None
self._context = None
@@ -96,10 +96,10 @@ def _lazy_init(self):
raise RuntimeError("Runner is closed")
if self._state is _State.INITIALIZED:
return
- if self._factory is None:
+ if self._loop_factory is None:
self._loop = events.new_event_loop()
else:
- self._loop = self._factory()
+ self._loop = self._loop_factory()
if self._debug is not None:
self._loop.set_debug(self._debug)
self._context = contextvars.copy_context()
diff --git a/Lib/test/test_asyncio/test_runners.py b/Lib/test/test_asyncio/test_runners.py
index c0bd1a242c86c..94f26797b3309 100644
--- a/Lib/test/test_asyncio/test_runners.py
+++ b/Lib/test/test_asyncio/test_runners.py
@@ -201,7 +201,7 @@ def test_debug(self):
def test_custom_factory(self):
loop = mock.Mock()
- with asyncio.Runner(factory=lambda: loop) as runner:
+ with asyncio.Runner(loop_factory=lambda: loop) as runner:
self.assertIs(runner.get_loop(), loop)
def test_run(self):
More information about the Python-checkins
mailing list