mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-04-07 09:23:38 +00:00
[ie/youtube] Rename cache register decorators
This commit is contained in:
parent
8def006075
commit
4e22fb6192
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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'
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user