]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-47062: Rename factory argument to loop_factory (GH-32113)
authorAndrew Svetlov <andrew.svetlov@gmail.com>
Fri, 25 Mar 2022 22:26:23 +0000 (00:26 +0200)
committerGitHub <noreply@github.com>
Fri, 25 Mar 2022 22:26:23 +0000 (00:26 +0200)
Doc/library/asyncio-runner.rst
Lib/asyncio/runners.py
Lib/test/test_asyncio/test_runners.py

index 2f4de9edaa400d188c6dbd81f98200bcd047528d..31becf192ada3157ccbb8ea89888c7cf17d7591f 100644 (file)
@@ -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::
index 975509c7d645d588ffdf612791e28f42f0172905..768a403a85beecae7956139ad842408316b5fd73 100644 (file)
@@ -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 @@ class Runner:
             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()
index c0bd1a242c86cddfdaaad6c5c1e765879aec9fac..94f26797b33090e5add59fff56b2abc3a75d1553 100644 (file)
@@ -201,7 +201,7 @@ class RunnerTests(BaseTest):
 
     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):