# 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 \
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
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
+++ /dev/null
-# 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
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,
# 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:
@staticmethod
def _cancel_all_tasks(loop):
- to_cancel = asyncio.tasks.all_tasks(loop)
+ to_cancel = asyncio.all_tasks(loop)
if not to_cancel:
return
# 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():