diff --git a/test/test_pot/test_pot_framework.py b/test/test_pot/test_pot_framework.py index 36a153b908..7992aaf181 100644 --- a/test/test_pot/test_pot_framework.py +++ b/test/test_pot/test_pot_framework.py @@ -11,14 +11,13 @@ from yt_dlp.extractor.youtube.pot.provider import ( from yt_dlp.extractor.youtube.pot.cache import ( PoTokenCacheProvider, - register_pcp, - register_pcp_preference, PoTokenCacheSpec, PoTokenCacheSpecProvider, - register_pcsp, CacheProviderWritePolicy, ) +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 @@ -468,7 +467,7 @@ def test_register_pot_preference(ie): def test_register_cache_provider(ie): - @register_pcp + @cache.register_provider class UnavailableCacheProviderPCP(PoTokenCacheProvider): def is_available(self) -> bool: return False @@ -488,7 +487,7 @@ def test_register_cache_provider(ie): def test_register_cache_provider_spec(ie): - @register_pcsp + @cache.register_spec class UnavailableCacheProviderPCSP(PoTokenCacheSpecProvider): def is_available(self) -> bool: return False @@ -503,7 +502,7 @@ def test_register_cache_provider_spec(ie): def test_register_cache_provider_preference(ie): before = len(_pot_cache_provider_preferences.value) - @register_pcp_preference(ExampleCacheProviderPCP) + @cache.register_preference(ExampleCacheProviderPCP) def unavailable_preference(provider: PoTokenCacheProvider, request: PoTokenRequest): return 1 diff --git a/yt_dlp/extractor/youtube/pot/README.md b/yt_dlp/extractor/youtube/pot/README.md index 5d28f1a5d7..fd61cac86b 100644 --- a/yt_dlp/extractor/youtube/pot/README.md +++ b/yt_dlp/extractor/youtube/pot/README.md @@ -168,14 +168,14 @@ def my_provider_preference(provider: PoTokenProvider, request: PoTokenRequest, * ```python from yt_dlp.extractor.youtube.pot.cache import ( PoTokenCacheProvider, - register_pcp_preference, - register_pcp + register_preference, + register_provider ) from yt_dlp.extractor.youtube.pot.provider import PoTokenRequest -@register_pcp +@register_provider class MyCacheProviderPCP(PoTokenCacheProvider): # Provider name must end with "PCP" PROVIDER_VERSION = '0.1.0' # Define a unique display name for the provider @@ -219,7 +219,7 @@ class MyCacheProviderPCP(PoTokenCacheProvider): # Provider name must end with " # VERY IMPORTANT: yt-dlp has a built-in memory cache with a priority of 10000. Your cache provider should be lower than this. -@register_pcp_preference(MyCacheProviderPCP) +@register_preference(MyCacheProviderPCP) def my_cache_preference(provider: PoTokenCacheProvider, request: PoTokenRequest, *_, **__) -> int: return 50 ``` @@ -236,13 +236,13 @@ from yt_dlp.extractor.youtube.pot.cache import ( PoTokenCacheSpec, PoTokenCacheSpecProvider, CacheProviderWritePolicy, - register_pcsp, + register_spec, ) from yt_dlp.utils import traverse_obj from yt_dlp.extractor.youtube.pot.provider import PoTokenRequest -@register_pcsp +@register_spec class MyCacheSpecProviderPCSP(PoTokenCacheSpecProvider): # Provider name must end with "PCSP" PROVIDER_VERSION = '0.1.0' # Define a unique display name for the provider diff --git a/yt_dlp/extractor/youtube/pot/builtin/cache/memory.py b/yt_dlp/extractor/youtube/pot/builtin/cache/memory.py index f89d49b4eb..318f6781a0 100644 --- a/yt_dlp/extractor/youtube/pot/builtin/cache/memory.py +++ b/yt_dlp/extractor/youtube/pot/builtin/cache/memory.py @@ -8,8 +8,8 @@ from threading import Lock from yt_dlp.extractor.youtube.pot._provider import BuiltInIEContentProvider from yt_dlp.extractor.youtube.pot.cache import ( PoTokenCacheProvider, - register_pcp, - register_pcp_preference, + register_preference, + register_provider, ) from yt_dlp.globals import _pot_memory_cache @@ -26,7 +26,7 @@ def initialize_global_cache(max_size: int): return _pot_memory_cache.value['cache'], _pot_memory_cache.value['lock'], _pot_memory_cache.value['max_size'] -@register_pcp +@register_provider class MemoryLRUPCP(PoTokenCacheProvider, BuiltInIEContentProvider): PROVIDER_NAME = 'memory' DEFAULT_CACHE_SIZE = 25 @@ -74,7 +74,7 @@ class MemoryLRUPCP(PoTokenCacheProvider, BuiltInIEContentProvider): self.cache.pop(key, None) -@register_pcp_preference(MemoryLRUPCP) +@register_preference(MemoryLRUPCP) def memorylru_preference(*_, **__): # Memory LRU Cache SHOULD be the highest priority return 10000 diff --git a/yt_dlp/extractor/youtube/pot/builtin/cachespec/webpo.py b/yt_dlp/extractor/youtube/pot/builtin/cachespec/webpo.py index bc83b90990..177c73e49c 100644 --- a/yt_dlp/extractor/youtube/pot/builtin/cachespec/webpo.py +++ b/yt_dlp/extractor/youtube/pot/builtin/cachespec/webpo.py @@ -6,7 +6,7 @@ from yt_dlp.extractor.youtube.pot.cache import ( CacheProviderWritePolicy, PoTokenCacheSpec, PoTokenCacheSpecProvider, - register_pcsp, + register_spec, ) from yt_dlp.extractor.youtube.pot.provider import ( PoTokenRequest, @@ -14,7 +14,7 @@ from yt_dlp.extractor.youtube.pot.provider import ( from yt_dlp.utils import traverse_obj -@register_pcsp +@register_spec class WebPoPCSP(PoTokenCacheSpecProvider, BuiltInIEContentProvider): PROVIDER_NAME = 'webpo' diff --git a/yt_dlp/extractor/youtube/pot/cache.py b/yt_dlp/extractor/youtube/pot/cache.py index 7dd1fbcdb5..f9fc501719 100644 --- a/yt_dlp/extractor/youtube/pot/cache.py +++ b/yt_dlp/extractor/youtube/pot/cache.py @@ -61,7 +61,7 @@ class PoTokenCacheSpecProvider(IEContentProvider, abc.ABC, suffix='PCSP'): pass -def register_pcp(provider: type[PoTokenCacheProvider]): +def register_provider(provider: type[PoTokenCacheProvider]): """Register a PoTokenCacheProvider class""" return register_provider_generic( provider=provider, @@ -70,7 +70,7 @@ def register_pcp(provider: type[PoTokenCacheProvider]): ) -def register_pcsp(provider: type[PoTokenCacheSpecProvider]): +def register_spec(provider: type[PoTokenCacheSpecProvider]): """Register a PoTokenCacheSpecProvider class""" return register_provider_generic( provider=provider, @@ -80,7 +80,7 @@ def register_pcsp(provider: type[PoTokenCacheSpecProvider]): # XXX: I don't think the typing is correct, and that we need py3.10 to properly type this -def register_pcp_preference(*providers: type[PoTokenCacheProvider]) -> typing.Callable[[PCPPreference], PCPPreference]: +def register_preference(*providers: type[PoTokenCacheProvider]) -> typing.Callable[[PCPPreference], PCPPreference]: """Register a preference for a PoTokenCacheProvider""" return register_preference_generic( PoTokenCacheProvider,