diff --git a/test/test_pot/test_pot_builtin_memorycache.py b/test/test_pot/test_pot_builtin_memorycache.py index d092a9c450..110f7d5d9b 100644 --- a/test/test_pot/test_pot_builtin_memorycache.py +++ b/test/test_pot/test_pot_builtin_memorycache.py @@ -6,7 +6,7 @@ from yt_dlp.extractor.youtube.pot._provider import IEContentProvider, BuiltInIEC from yt_dlp.utils import bug_reports_message from yt_dlp.extractor.youtube.pot._builtin.memory_cache import MemoryLRUPCP, memorylru_preference, initialize_global_cache from yt_dlp.version import __version__ -from yt_dlp.globals import _pot_memory_cache, _pot_cache_providers +from yt_dlp.extractor.youtube.pot._registry import _pot_cache_providers, _pot_memory_cache class TestMemoryLRUPCS: diff --git a/test/test_pot/test_pot_builtin_webpospec.py b/test/test_pot/test_pot_builtin_webpospec.py index 291f8942c5..65186eeaa0 100644 --- a/test/test_pot/test_pot_builtin_webpospec.py +++ b/test/test_pot/test_pot_builtin_webpospec.py @@ -11,7 +11,7 @@ from yt_dlp.extractor.youtube.pot.provider import ( from yt_dlp.version import __version__ from yt_dlp.extractor.youtube.pot._builtin.webpo_cachespec import WebPoPCSP -from yt_dlp.globals import _pot_pcs_providers +from yt_dlp.extractor.youtube.pot._registry import _pot_pcs_providers @pytest.fixture() diff --git a/test/test_pot/test_pot_framework.py b/test/test_pot/test_pot_framework.py index 7992aaf181..906a335c8f 100644 --- a/test/test_pot/test_pot_framework.py +++ b/test/test_pot/test_pot_framework.py @@ -18,8 +18,6 @@ from yt_dlp.extractor.youtube.pot.cache import ( import yt_dlp.extractor.youtube.pot.cache as cache -from yt_dlp.globals import _pot_cache_providers, _pot_cache_provider_preferences, _pot_pcs_providers - from yt_dlp.networking import Request from yt_dlp.extractor.youtube.pot.provider import ( PoTokenResponse, @@ -30,7 +28,7 @@ from yt_dlp.extractor.youtube.pot.provider import ( register_preference, ) -from yt_dlp.globals import _pot_providers, _ptp_preferences +from yt_dlp.extractor.youtube.pot._registry import _pot_providers, _ptp_preferences, _pot_pcs_providers, _pot_cache_providers, _pot_cache_provider_preferences class ExamplePTP(PoTokenProvider): diff --git a/yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py b/yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py index 318f6781a0..95e1c775f0 100644 --- a/yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py +++ b/yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py @@ -6,12 +6,12 @@ from collections import OrderedDict from threading import Lock from yt_dlp.extractor.youtube.pot._provider import BuiltInIEContentProvider +from yt_dlp.extractor.youtube.pot._registry import _pot_memory_cache from yt_dlp.extractor.youtube.pot.cache import ( PoTokenCacheProvider, register_preference, register_provider, ) -from yt_dlp.globals import _pot_memory_cache def initialize_global_cache(max_size: int): diff --git a/yt_dlp/extractor/youtube/pot/_director.py b/yt_dlp/extractor/youtube/pot/_director.py index 96d2bad348..7df4658ac5 100644 --- a/yt_dlp/extractor/youtube/pot/_director.py +++ b/yt_dlp/extractor/youtube/pot/_director.py @@ -15,6 +15,13 @@ from yt_dlp.extractor.youtube.pot._provider import ( IEContentProvider, IEContentProviderLogger, ) +from yt_dlp.extractor.youtube.pot._registry import ( + _pot_cache_provider_preferences, + _pot_cache_providers, + _pot_pcs_providers, + _pot_providers, + _ptp_preferences, +) from yt_dlp.extractor.youtube.pot.cache import ( CacheProviderWritePolicy, PoTokenCacheProvider, @@ -30,13 +37,6 @@ from yt_dlp.extractor.youtube.pot.provider import ( PoTokenResponse, provider_bug_report_message, ) -from yt_dlp.globals import ( - _pot_cache_provider_preferences, - _pot_cache_providers, - _pot_pcs_providers, - _pot_providers, - _ptp_preferences, -) from yt_dlp.utils import ExtractorError, bug_reports_message, format_field, join_nonempty, traverse_obj if typing.TYPE_CHECKING: diff --git a/yt_dlp/extractor/youtube/pot/_registry.py b/yt_dlp/extractor/youtube/pot/_registry.py new file mode 100644 index 0000000000..c72a622c12 --- /dev/null +++ b/yt_dlp/extractor/youtube/pot/_registry.py @@ -0,0 +1,8 @@ +from yt_dlp.globals import Indirect + +_pot_providers = Indirect({}) +_ptp_preferences = Indirect(set()) +_pot_pcs_providers = Indirect({}) +_pot_cache_providers = Indirect({}) +_pot_cache_provider_preferences = Indirect(set()) +_pot_memory_cache = Indirect({}) diff --git a/yt_dlp/extractor/youtube/pot/cache.py b/yt_dlp/extractor/youtube/pot/cache.py index f9fc501719..795b0f57f6 100644 --- a/yt_dlp/extractor/youtube/pot/cache.py +++ b/yt_dlp/extractor/youtube/pot/cache.py @@ -13,8 +13,12 @@ from yt_dlp.extractor.youtube.pot._provider import ( register_preference_generic, register_provider_generic, ) +from yt_dlp.extractor.youtube.pot._registry import ( + _pot_cache_provider_preferences, + _pot_cache_providers, + _pot_pcs_providers, +) from yt_dlp.extractor.youtube.pot.provider import PoTokenRequest -from yt_dlp.globals import _pot_cache_provider_preferences, _pot_cache_providers, _pot_pcs_providers class PoTokenCacheProviderError(IEContentProviderError): diff --git a/yt_dlp/extractor/youtube/pot/provider.py b/yt_dlp/extractor/youtube/pot/provider.py index 29f49436a1..94ed30dcd5 100644 --- a/yt_dlp/extractor/youtube/pot/provider.py +++ b/yt_dlp/extractor/youtube/pot/provider.py @@ -16,7 +16,7 @@ from yt_dlp.extractor.youtube.pot._provider import ( register_preference_generic, register_provider_generic, ) -from yt_dlp.globals import _pot_providers, _ptp_preferences +from yt_dlp.extractor.youtube.pot._registry import _pot_providers, _ptp_preferences from yt_dlp.networking import Request from yt_dlp.utils import traverse_obj from yt_dlp.utils.networking import HTTPHeaderDict diff --git a/yt_dlp/globals.py b/yt_dlp/globals.py index 8693b02f04..0cf276cc9e 100644 --- a/yt_dlp/globals.py +++ b/yt_dlp/globals.py @@ -28,12 +28,3 @@ plugin_ies_overrides = Indirect(defaultdict(list)) # Misc IN_CLI = Indirect(False) LAZY_EXTRACTORS = Indirect(None) # `False`=force, `None`=disabled, `True`=enabled - - -# YouTube extractor - Internal only -_pot_providers = Indirect({}) -_ptp_preferences = Indirect(set()) -_pot_pcs_providers = Indirect({}) -_pot_cache_providers = Indirect({}) -_pot_cache_provider_preferences = Indirect(set()) -_pot_memory_cache = Indirect({})