diff --git a/devscripts/bash-completion.py b/devscripts/bash-completion.py index 268e8a2ae..9b4a9d4e2 100755 --- a/devscripts/bash-completion.py +++ b/devscripts/bash-completion.py @@ -1,9 +1,12 @@ #!/usr/bin/env python3 + +# Allow direct execution import os import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import yt_dlp BASH_COMPLETION_FILE = "completions/bash/yt-dlp" diff --git a/devscripts/fish-completion.py b/devscripts/fish-completion.py index d9c0048e2..5d2f68a48 100755 --- a/devscripts/fish-completion.py +++ b/devscripts/fish-completion.py @@ -1,10 +1,14 @@ #!/usr/bin/env python3 -import optparse + +# Allow direct execution import os import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import optparse + import yt_dlp from yt_dlp.utils import shell_quote diff --git a/devscripts/generate_aes_testdata.py b/devscripts/generate_aes_testdata.py index c7d83f1a7..7f3c88bcf 100644 --- a/devscripts/generate_aes_testdata.py +++ b/devscripts/generate_aes_testdata.py @@ -1,11 +1,15 @@ #!/usr/bin/env python3 -import codecs + +# Allow direct execution import os -import subprocess import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import codecs +import subprocess + from yt_dlp.aes import aes_encrypt, key_expansion from yt_dlp.utils import intlist_to_bytes diff --git a/devscripts/make_contributing.py b/devscripts/make_contributing.py index 2562c4fd7..a06f8a616 100755 --- a/devscripts/make_contributing.py +++ b/devscripts/make_contributing.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import optparse import re diff --git a/devscripts/make_issue_template.py b/devscripts/make_issue_template.py index 5a309008e..54043ef4e 100644 --- a/devscripts/make_issue_template.py +++ b/devscripts/make_issue_template.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 + +# Allow direct execution +import os +import sys + +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + + import optparse @@ -7,7 +15,7 @@ def read(fname): return f.read() -# Get the version from yt_dlp/version.py without importing the package +# Get the version without importing the package def read_version(fname): exec(compile(read(fname), fname, 'exec')) return locals()['__version__'] diff --git a/devscripts/make_lazy_extractors.py b/devscripts/make_lazy_extractors.py index 39d4646d0..785d66a6a 100644 --- a/devscripts/make_lazy_extractors.py +++ b/devscripts/make_lazy_extractors.py @@ -1,12 +1,15 @@ #!/usr/bin/env python3 -import optparse + +# Allow direct execution import os import sys -from inspect import getsource sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +import optparse +from inspect import getsource + NO_ATTR = object() STATIC_CLASS_PROPERTIES = ['IE_NAME', 'IE_DESC', 'SEARCH_KEY', '_WORKING', '_NETRC_MACHINE', 'age_limit'] CLASS_METHODS = [ diff --git a/devscripts/make_readme.py b/devscripts/make_readme.py index 015212aa3..f2e08d7c6 100755 --- a/devscripts/make_readme.py +++ b/devscripts/make_readme.py @@ -1,7 +1,11 @@ #!/usr/bin/env python3 -# yt-dlp --help | make_readme.py -# This must be run in a console of correct width +""" +yt-dlp --help | make_readme.py +This must be run in a console of correct width +""" + + import functools import re import sys diff --git a/devscripts/make_supportedsites.py b/devscripts/make_supportedsites.py index d8c53c5e1..e46f7af56 100644 --- a/devscripts/make_supportedsites.py +++ b/devscripts/make_supportedsites.py @@ -1,10 +1,14 @@ #!/usr/bin/env python3 -import optparse + +# Allow direct execution import os import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import optparse + from yt_dlp.extractor import list_extractor_classes diff --git a/devscripts/prepare_manpage.py b/devscripts/prepare_manpage.py index 91e9ebced..cea934949 100644 --- a/devscripts/prepare_manpage.py +++ b/devscripts/prepare_manpage.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import optparse import os.path import re @@ -23,7 +24,7 @@ yt\-dlp \- A youtube-dl fork with additional features and patches def main(): parser = optparse.OptionParser(usage='%prog OUTFILE.md') - options, args = parser.parse_args() + _, args = parser.parse_args() if len(args) != 1: parser.error('Expected an output filename') diff --git a/devscripts/update-version.py b/devscripts/update-version.py index 991cfb2af..c5bc83de9 100644 --- a/devscripts/update-version.py +++ b/devscripts/update-version.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 + +# Allow direct execution +import os +import sys + +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + + import subprocess import sys from datetime import datetime diff --git a/devscripts/zsh-completion.py b/devscripts/zsh-completion.py index 59faea06a..267af5f6e 100755 --- a/devscripts/zsh-completion.py +++ b/devscripts/zsh-completion.py @@ -1,9 +1,12 @@ #!/usr/bin/env python3 + +# Allow direct execution import os import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import yt_dlp ZSH_COMPLETION_FILE = "completions/zsh/_yt-dlp" diff --git a/pyinst.py b/pyinst.py index 4401125ed..a7c1be85d 100644 --- a/pyinst.py +++ b/pyinst.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import os import platform import sys diff --git a/setup.cfg b/setup.cfg index 946d7b122..415cca91a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -37,3 +37,5 @@ line_length = 80 reverse_relative = true ensure_newline_before_comments = true include_trailing_comma = true +known_first_party = + test diff --git a/setup.py b/setup.py index 6dae442aa..9803e928c 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import os.path import sys import warnings diff --git a/test/test_InfoExtractor.py b/test/test_InfoExtractor.py index f0571c41a..f57a29ffc 100644 --- a/test/test_InfoExtractor.py +++ b/test/test_InfoExtractor.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index 1153881e9..44e8f2917 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,6 +7,7 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import copy import json import urllib.error diff --git a/test/test_YoutubeDLCookieJar.py b/test/test_YoutubeDLCookieJar.py index 6280e1f2c..0d4e7dc97 100644 --- a/test/test_YoutubeDLCookieJar.py +++ b/test/test_YoutubeDLCookieJar.py @@ -1,12 +1,16 @@ #!/usr/bin/env python3 + +# Allow direct execution import os -import re import sys -import tempfile import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import re +import tempfile + from yt_dlp.utils import YoutubeDLCookieJar diff --git a/test/test_aes.py b/test/test_aes.py index 2b7b7cf54..037246588 100644 --- a/test/test_aes.py +++ b/test/test_aes.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,6 +7,7 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import base64 from yt_dlp.aes import ( diff --git a/test/test_age_restriction.py b/test/test_age_restriction.py index e1012f69b..ff248432b 100644 --- a/test/test_age_restriction.py +++ b/test/test_age_restriction.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,8 +7,8 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import is_download_test, try_rm +from test.helper import is_download_test, try_rm from yt_dlp import YoutubeDL diff --git a/test/test_all_urls.py b/test/test_all_urls.py index b6019554e..848c96ff0 100644 --- a/test/test_all_urls.py +++ b/test/test_all_urls.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 + # Allow direct execution -import collections import os import sys import unittest @@ -8,8 +8,9 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import gettestcases +import collections +from test.helper import gettestcases from yt_dlp.extractor import FacebookIE, YoutubeIE, gen_extractors diff --git a/test/test_cache.py b/test/test_cache.py index 14e54ba20..ce1624b68 100644 --- a/test/test_cache.py +++ b/test/test_cache.py @@ -1,15 +1,16 @@ #!/usr/bin/env python3 + # Allow direct execution import os -import shutil import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import FakeYDL +import shutil +from test.helper import FakeYDL from yt_dlp.cache import Cache diff --git a/test/test_compat.py b/test/test_compat.py index 62bf5a306..a70adfa30 100644 --- a/test/test_compat.py +++ b/test/test_compat.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys diff --git a/test/test_download.py b/test/test_download.py index b82f174bb..b98ddebcb 100755 --- a/test/test_download.py +++ b/test/test_download.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -8,10 +9,10 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import hashlib +import http.client import json import socket import urllib.error -import http.client from test.helper import ( assertGreaterEqual, @@ -23,6 +24,7 @@ from test.helper import ( report_warning, try_rm, ) + import yt_dlp.YoutubeDL # isort: split from yt_dlp.compat import compat_HTTPError from yt_dlp.extractor import get_info_extractor diff --git a/test/test_downloader_http.py b/test/test_downloader_http.py index dac770758..cce7c59e2 100644 --- a/test/test_downloader_http.py +++ b/test/test_downloader_http.py @@ -1,17 +1,18 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys import unittest -import http.server sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +import http.server import re import threading -from test.helper import http_server_port, try_rm +from test.helper import http_server_port, try_rm from yt_dlp import YoutubeDL from yt_dlp.downloader.http import HttpFD from yt_dlp.utils import encodeFilename diff --git a/test/test_execution.py b/test/test_execution.py index 6efd432e9..1d15fddab 100644 --- a/test/test_execution.py +++ b/test/test_execution.py @@ -1,12 +1,16 @@ #!/usr/bin/env python3 -import contextlib + +# Allow direct execution import os -import subprocess import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import contextlib +import subprocess + from yt_dlp.utils import encodeArgument rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) diff --git a/test/test_http.py b/test/test_http.py index 828797ec7..b1aac7720 100644 --- a/test/test_http.py +++ b/test/test_http.py @@ -1,18 +1,19 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys import unittest -import http.server sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +import http.server import ssl import threading import urllib.request -from test.helper import http_server_port +from test.helper import http_server_port from yt_dlp import YoutubeDL TEST_DIR = os.path.dirname(os.path.abspath(__file__)) diff --git a/test/test_iqiyi_sdk_interpreter.py b/test/test_iqiyi_sdk_interpreter.py index 4b82b7187..47c632a4e 100644 --- a/test/test_iqiyi_sdk_interpreter.py +++ b/test/test_iqiyi_sdk_interpreter.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,8 +7,8 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import FakeYDL, is_download_test +from test.helper import FakeYDL, is_download_test from yt_dlp.extractor import IqiyiIE diff --git a/test/test_jsinterp.py b/test/test_jsinterp.py index 872c58c8f..4277cabe0 100644 --- a/test/test_jsinterp.py +++ b/test/test_jsinterp.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,6 +7,7 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + from yt_dlp.jsinterp import JSInterpreter diff --git a/test/test_netrc.py b/test/test_netrc.py index f7a0b33d2..dc708d974 100644 --- a/test/test_netrc.py +++ b/test/test_netrc.py @@ -1,3 +1,6 @@ +#!/usr/bin/env python3 + +# Allow direct execution import os import sys import unittest diff --git a/test/test_overwrites.py b/test/test_overwrites.py index a6d5bae40..6954c07f9 100644 --- a/test/test_overwrites.py +++ b/test/test_overwrites.py @@ -1,11 +1,15 @@ #!/usr/bin/env python3 + +# Allow direct execution import os -import subprocess import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import subprocess + from test.helper import is_download_test, try_rm root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) diff --git a/test/test_post_hooks.py b/test/test_post_hooks.py index e84a08f29..3778d1794 100644 --- a/test/test_post_hooks.py +++ b/test/test_post_hooks.py @@ -1,13 +1,15 @@ #!/usr/bin/env python3 + +# Allow direct execution import os import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import get_params, is_download_test, try_rm -import yt_dlp.YoutubeDL +from test.helper import get_params, is_download_test, try_rm +import yt_dlp.YoutubeDL # isort: split from yt_dlp.utils import DownloadError diff --git a/test/test_postprocessors.py b/test/test_postprocessors.py index 9d8a4dcc5..c49e3ede0 100644 --- a/test/test_postprocessors.py +++ b/test/test_postprocessors.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,6 +7,7 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + from yt_dlp import YoutubeDL from yt_dlp.compat import compat_shlex_quote from yt_dlp.postprocessor import ( diff --git a/test/test_socks.py b/test/test_socks.py index 0b8e03a9f..159faf58e 100644 --- a/test/test_socks.py +++ b/test/test_socks.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,6 +7,7 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import random import subprocess import urllib.request diff --git a/test/test_subtitles.py b/test/test_subtitles.py index 5120f83e2..57362895f 100644 --- a/test/test_subtitles.py +++ b/test/test_subtitles.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys diff --git a/test/test_update.py.disabled b/test/test_update.py.disabled index 73b55cdac..85ac86692 100644 --- a/test/test_update.py.disabled +++ b/test/test_update.py.disabled @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys diff --git a/test/test_utils.py b/test/test_utils.py index 38647adb4..8024a8e7c 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 + # Allow direct execution -import contextlib import os import sys import unittest @@ -8,7 +8,7 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -# Various small unit tests +import contextlib import io import itertools import json diff --git a/test/test_verbose_output.py b/test/test_verbose_output.py index 657994074..21ce10a1f 100644 --- a/test/test_verbose_output.py +++ b/test/test_verbose_output.py @@ -1,11 +1,15 @@ #!/usr/bin/env python3 + +# Allow direct execution import os -import subprocess import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import subprocess + rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) diff --git a/test/test_write_annotations.py.disabled b/test/test_write_annotations.py.disabled index cca60561f..c7cf199f6 100644 --- a/test/test_write_annotations.py.disabled +++ b/test/test_write_annotations.py.disabled @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,11 +7,12 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import xml.etree.ElementTree -from test.helper import get_params, is_download_test, try_rm import yt_dlp.extractor import yt_dlp.YoutubeDL +from test.helper import get_params, is_download_test, try_rm class YoutubeDL(yt_dlp.YoutubeDL): diff --git a/test/test_youtube_lists.py b/test/test_youtube_lists.py index 66611e236..c2dd0ac30 100644 --- a/test/test_youtube_lists.py +++ b/test/test_youtube_lists.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys @@ -6,8 +7,8 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import FakeYDL, is_download_test +from test.helper import FakeYDL, is_download_test from yt_dlp.extractor import YoutubeIE, YoutubeTabIE diff --git a/test/test_youtube_misc.py b/test/test_youtube_misc.py index 36f8be689..81be5d3c9 100644 --- a/test/test_youtube_misc.py +++ b/test/test_youtube_misc.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Allow direct execution import os import sys diff --git a/test/test_youtube_signature.py b/test/test_youtube_signature.py index 2c2013295..56304772b 100644 --- a/test/test_youtube_signature.py +++ b/test/test_youtube_signature.py @@ -1,17 +1,19 @@ #!/usr/bin/env python3 + # Allow direct execution -import contextlib import os import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import contextlib import re import string import urllib.request -from test.helper import FakeYDL, is_download_test +from test.helper import FakeYDL, is_download_test from yt_dlp.compat import compat_str from yt_dlp.extractor import YoutubeIE from yt_dlp.jsinterp import JSInterpreter diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index df4eef4e2..94aaaeb60 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 import collections import contextlib import datetime diff --git a/yt_dlp/__init__.py b/yt_dlp/__init__.py index a5921c565..357be861b 100644 --- a/yt_dlp/__init__.py +++ b/yt_dlp/__init__.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 f'You are using an unsupported version of Python. Only Python versions 3.6 and above are supported by yt-dlp' # noqa: F541 __license__ = 'Public Domain' diff --git a/yt_dlp/__main__.py b/yt_dlp/__main__.py index c9d275b86..ff5d71d3c 100644 --- a/yt_dlp/__main__.py +++ b/yt_dlp/__main__.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + # Execute with # $ python -m yt_dlp diff --git a/yt_dlp/compat/__init__.py b/yt_dlp/compat/__init__.py index 3a91fad0e..9f8e8c3e5 100644 --- a/yt_dlp/compat/__init__.py +++ b/yt_dlp/compat/__init__.py @@ -7,7 +7,6 @@ from . import re from ._deprecated import * # noqa: F401, F403 from .compat_utils import passthrough_module - # XXX: Implement this the same way as other DeprecationWarnings without circular import try: passthrough_module(__name__, '._legacy', callback=lambda attr: warnings.warn( diff --git a/yt_dlp/compat/_legacy.py b/yt_dlp/compat/_legacy.py index 2b33638b6..49bb13a3c 100644 --- a/yt_dlp/compat/_legacy.py +++ b/yt_dlp/compat/_legacy.py @@ -22,7 +22,7 @@ import urllib.request import xml.etree.ElementTree as etree from subprocess import DEVNULL -from .compat_utils import passthrough_module +from .compat_utils import passthrough_module # isort: split from .asyncio import run as compat_asyncio_run # noqa: F401 from .re import Pattern as compat_Pattern # noqa: F401 from .re import match as compat_Match # noqa: F401 @@ -30,7 +30,6 @@ from ..dependencies import Cryptodome_AES as compat_pycrypto_AES # noqa: F401 from ..dependencies import brotli as compat_brotli # noqa: F401 from ..dependencies import websockets as compat_websockets # noqa: F401 - passthrough_module(__name__, '...utils', ('WINDOWS_VT_MODE', 'windows_enable_vt_mode')) diff --git a/yt_dlp/compat/compat_utils.py b/yt_dlp/compat/compat_utils.py index 79e253056..82e176281 100644 --- a/yt_dlp/compat/compat_utils.py +++ b/yt_dlp/compat/compat_utils.py @@ -4,7 +4,6 @@ import importlib import sys import types - _NO_ATTRIBUTE = object() _Package = collections.namedtuple('Package', ('name', 'version')) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index 6811a7288..e2ff8c39f 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -1,5 +1,6 @@ import contextlib import ctypes +import http.cookiejar import json import os import shutil @@ -11,7 +12,6 @@ import time from datetime import datetime, timedelta, timezone from enum import Enum, auto from hashlib import pbkdf2_hmac -import http.cookiejar from .aes import ( aes_cbc_decrypt_bytes, diff --git a/yt_dlp/downloader/http.py b/yt_dlp/downloader/http.py index ca5b26498..6b59320b8 100644 --- a/yt_dlp/downloader/http.py +++ b/yt_dlp/downloader/http.py @@ -1,10 +1,10 @@ +import http.client import os import random import socket import ssl import time import urllib.error -import http.client from .common import FileDownloader from ..utils import ( diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index 1c3d4af2c..4c37044f6 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -2,6 +2,9 @@ import base64 import collections import getpass import hashlib +import http.client +import http.cookiejar +import http.cookies import itertools import json import math @@ -12,9 +15,6 @@ import sys import time import urllib.request import xml.etree.ElementTree -import http.client -import http.cookiejar -import http.cookies from ..compat import functools, re # isort: split from ..compat import ( diff --git a/yt_dlp/extractor/iwara.py b/yt_dlp/extractor/iwara.py index 32ebd2ba6..f77c5d44d 100644 --- a/yt_dlp/extractor/iwara.py +++ b/yt_dlp/extractor/iwara.py @@ -7,10 +7,10 @@ from ..utils import ( int_or_none, mimetype2ext, remove_end, + strip_or_none, + unified_strdate, url_or_none, urljoin, - unified_strdate, - strip_or_none, ) diff --git a/yt_dlp/extractor/nebula.py b/yt_dlp/extractor/nebula.py index 9478f3aa3..7057b8b26 100644 --- a/yt_dlp/extractor/nebula.py +++ b/yt_dlp/extractor/nebula.py @@ -1,8 +1,8 @@ import itertools import json import time -import urllib.parse import urllib.error +import urllib.parse from .common import InfoExtractor from ..utils import ExtractorError, parse_iso8601, try_get diff --git a/yt_dlp/extractor/shared.py b/yt_dlp/extractor/shared.py index 31c0080ba..9a237b320 100644 --- a/yt_dlp/extractor/shared.py +++ b/yt_dlp/extractor/shared.py @@ -1,5 +1,3 @@ - - import urllib.parse from .common import InfoExtractor diff --git a/yt_dlp/extractor/urort.py b/yt_dlp/extractor/urort.py index be508f434..3f687f737 100644 --- a/yt_dlp/extractor/urort.py +++ b/yt_dlp/extractor/urort.py @@ -1,5 +1,3 @@ - - import urllib.parse from .common import InfoExtractor diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py index 6b02eb450..7327f3150 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 import atexit import base64 import binascii @@ -16,6 +15,8 @@ import hashlib import hmac import html.entities import html.parser +import http.client +import http.cookiejar import importlib.util import io import itertools @@ -42,8 +43,6 @@ import urllib.parse import urllib.request import xml.etree.ElementTree import zlib -import http.client -import http.cookiejar from .compat import asyncio, functools # isort: split from .compat import (