Move to explicitly creating a new loop (#3164)
* Move to explicitly creating a new loop - >= 3.10 add a warning that `get_event_loop` will not automatically create a loop - Move to explicit API Test: - `python3.11 -m venv --upgrade-deps /tmp/tb` - `/tmp/tb/bin/pip install -e .` - Install deps and no blackd as aiohttp + yarl can't build still with 3.11 - https://github.com/aio-libs/aiohttp/issues/6600 - `export PYTHONWARNINGS=error` ``` cooper@l33t:~/repos/black$ /tmp/tb/bin/black . All done! ✨ 🍰 ✨ 44 files left unchanged. ``` Fixes #3110 * Add to CHANGES.md * Fix a cooper typo yet again * Set default asyncio loop to our explicitly created one + unset on exit * Update CHANGES.md Fix my silly typo. Co-authored-by: Thomas Grainger <tagrain@gmail.com> Co-authored-by: Cooper Ry Lees <me@wcooperlees.com> Co-authored-by: Thomas Grainger <tagrain@gmail.com>
This commit is contained in:
parent
8900e3ac8a
commit
9aa33f467b
@ -45,6 +45,9 @@
|
|||||||
|
|
||||||
<!-- Changes to Black's terminal output and error messages -->
|
<!-- Changes to Black's terminal output and error messages -->
|
||||||
|
|
||||||
|
- Change from deprecated `asyncio.get_event_loop()` to create our event loop which
|
||||||
|
removes DeprecationWarning (#3164)
|
||||||
|
|
||||||
### Packaging
|
### Packaging
|
||||||
|
|
||||||
<!-- Changes to how Black is packaged, such as dependency requirements -->
|
<!-- Changes to how Black is packaged, such as dependency requirements -->
|
||||||
|
@ -773,7 +773,6 @@ def reformat_many(
|
|||||||
from concurrent.futures import Executor, ThreadPoolExecutor, ProcessPoolExecutor
|
from concurrent.futures import Executor, ThreadPoolExecutor, ProcessPoolExecutor
|
||||||
|
|
||||||
executor: Executor
|
executor: Executor
|
||||||
loop = asyncio.get_event_loop()
|
|
||||||
worker_count = workers if workers is not None else DEFAULT_WORKERS
|
worker_count = workers if workers is not None else DEFAULT_WORKERS
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
# Work around https://bugs.python.org/issue26903
|
# Work around https://bugs.python.org/issue26903
|
||||||
@ -788,6 +787,8 @@ def reformat_many(
|
|||||||
# any good due to the Global Interpreter Lock)
|
# any good due to the Global Interpreter Lock)
|
||||||
executor = ThreadPoolExecutor(max_workers=1)
|
executor = ThreadPoolExecutor(max_workers=1)
|
||||||
|
|
||||||
|
loop = asyncio.new_event_loop()
|
||||||
|
asyncio.set_event_loop(loop)
|
||||||
try:
|
try:
|
||||||
loop.run_until_complete(
|
loop.run_until_complete(
|
||||||
schedule_formatting(
|
schedule_formatting(
|
||||||
@ -801,7 +802,10 @@ def reformat_many(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
finally:
|
finally:
|
||||||
shutdown(loop)
|
try:
|
||||||
|
shutdown(loop)
|
||||||
|
finally:
|
||||||
|
asyncio.set_event_loop(None)
|
||||||
if executor is not None:
|
if executor is not None:
|
||||||
executor.shutdown()
|
executor.shutdown()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user