From 059bc4db1975698dca53278a0fcc23d428b7658a Mon Sep 17 00:00:00 2001 From: pukkandan Date: Tue, 26 Apr 2022 05:45:18 +0530 Subject: [PATCH] [compat/asyncio] Use `asyncio.all_tasks` --- Makefile | 2 +- yt_dlp/compat/{asyncio/__init__.py => asyncio.py} | 8 ++++++-- yt_dlp/compat/asyncio/tasks.py | 13 ------------- yt_dlp/utils.py | 8 ++++---- 4 files changed, 11 insertions(+), 20 deletions(-) rename yt_dlp/compat/{asyncio/__init__.py => asyncio.py} (74%) delete mode 100644 yt_dlp/compat/asyncio/tasks.py diff --git a/Makefile b/Makefile index 146df19065..0e911feba8 100644 --- a/Makefile +++ b/Makefile @@ -66,7 +66,7 @@ offlinetest: codetest # XXX: This is hard to maintain CODE_FOLDERS = yt_dlp yt_dlp/downloader yt_dlp/extractor yt_dlp/postprocessor yt_dlp/compat \ - yt_dlp/compat/asyncio yt_dlp/extractor/anvato_token_generator + yt_dlp/extractor/anvato_token_generator yt-dlp: yt_dlp/*.py yt_dlp/*/*.py mkdir -p zip for d in $(CODE_FOLDERS) ; do \ diff --git a/yt_dlp/compat/asyncio/__init__.py b/yt_dlp/compat/asyncio.py similarity index 74% rename from yt_dlp/compat/asyncio/__init__.py rename to yt_dlp/compat/asyncio.py index 21b494499a..f80dc192d9 100644 --- a/yt_dlp/compat/asyncio/__init__.py +++ b/yt_dlp/compat/asyncio.py @@ -2,8 +2,7 @@ from asyncio import * # noqa: F403 -from . import tasks # noqa: F401 -from ..compat_utils import passthrough_module +from .compat_utils import passthrough_module passthrough_module(__name__, 'asyncio') del passthrough_module @@ -18,3 +17,8 @@ def run(coro): loop = new_event_loop() set_event_loop(loop) loop.run_until_complete(coro) + +try: + all_tasks # >= 3.7 +except NameError: + all_tasks = Task.all_tasks diff --git a/yt_dlp/compat/asyncio/tasks.py b/yt_dlp/compat/asyncio/tasks.py deleted file mode 100644 index 9d98fdfeb6..0000000000 --- a/yt_dlp/compat/asyncio/tasks.py +++ /dev/null @@ -1,13 +0,0 @@ -# flake8: noqa: F405 - -from asyncio.tasks import * # noqa: F403 - -from ..compat_utils import passthrough_module - -passthrough_module(__name__, 'asyncio.tasks') -del passthrough_module - -try: # >= 3.7 - all_tasks -except NameError: - all_tasks = Task.all_tasks diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py index 90f070b6d7..0171394fc1 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py @@ -5221,7 +5221,7 @@ class WebSocketsWrapper(): pool = None def __init__(self, url, headers=None, connect=True): - self.loop = asyncio.events.new_event_loop() + self.loop = asyncio.new_event_loop() # XXX: "loop" is deprecated self.conn = websockets.connect( url, extra_headers=headers, ping_interval=None, @@ -5252,7 +5252,7 @@ def __exit__(self, type, value, traceback): # for contributors: If there's any new library using asyncio needs to be run in non-async, move these function out of this class @staticmethod def run_with_loop(main, loop): - if not asyncio.coroutines.iscoroutine(main): + if not asyncio.iscoroutine(main): raise ValueError(f'a coroutine was expected, got {main!r}') try: @@ -5264,7 +5264,7 @@ def run_with_loop(main, loop): @staticmethod def _cancel_all_tasks(loop): - to_cancel = asyncio.tasks.all_tasks(loop) + to_cancel = asyncio.all_tasks(loop) if not to_cancel: return @@ -5274,7 +5274,7 @@ def _cancel_all_tasks(loop): # XXX: "loop" is removed in python 3.10+ loop.run_until_complete( - asyncio.tasks.gather(*to_cancel, loop=loop, return_exceptions=True)) + asyncio.gather(*to_cancel, loop=loop, return_exceptions=True)) for task in to_cancel: if task.cancelled():