mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-04-07 01:13:57 +00:00
refactor builtin imports
This commit is contained in:
parent
fdf701e8f6
commit
b2e9af41eb
@ -2,7 +2,7 @@ import threading
|
||||
import time
|
||||
from collections import OrderedDict
|
||||
import pytest
|
||||
from yt_dlp.extractor.youtube.pot._provider import IEContentProvider, BuiltInIEContentProvider
|
||||
from yt_dlp.extractor.youtube.pot._provider import IEContentProvider, BuiltinIEContentProvider
|
||||
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__
|
||||
@ -13,7 +13,7 @@ class TestMemoryLRUPCS:
|
||||
|
||||
def test_base_type(self):
|
||||
assert issubclass(MemoryLRUPCP, IEContentProvider)
|
||||
assert issubclass(MemoryLRUPCP, BuiltInIEContentProvider)
|
||||
assert issubclass(MemoryLRUPCP, BuiltinIEContentProvider)
|
||||
|
||||
@pytest.fixture
|
||||
def pcp(self, ie, logger) -> MemoryLRUPCP:
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from yt_dlp.extractor.youtube.pot._provider import IEContentProvider, BuiltInIEContentProvider
|
||||
from yt_dlp.extractor.youtube.pot._provider import IEContentProvider, BuiltinIEContentProvider
|
||||
from yt_dlp.extractor.youtube.pot.cache import CacheProviderWritePolicy
|
||||
from yt_dlp.utils import bug_reports_message
|
||||
from yt_dlp.extractor.youtube.pot.provider import (
|
||||
@ -23,7 +23,7 @@ def pot_request(pot_request) -> PoTokenRequest:
|
||||
class TestWebPoPCSP:
|
||||
def test_base_type(self):
|
||||
assert issubclass(WebPoPCSP, IEContentProvider)
|
||||
assert issubclass(WebPoPCSP, BuiltInIEContentProvider)
|
||||
assert issubclass(WebPoPCSP, BuiltinIEContentProvider)
|
||||
|
||||
def test_init(self, ie, logger):
|
||||
pcs = WebPoPCSP(ie=ie, logger=logger, settings={})
|
||||
|
||||
@ -7,7 +7,7 @@ import json
|
||||
import time
|
||||
import pytest
|
||||
|
||||
from yt_dlp.extractor.youtube.pot._provider import BuiltInIEContentProvider, IEContentProvider
|
||||
from yt_dlp.extractor.youtube.pot._provider import BuiltinIEContentProvider, IEContentProvider
|
||||
|
||||
from yt_dlp.extractor.youtube.pot.provider import (
|
||||
PoTokenRequest,
|
||||
@ -1478,11 +1478,11 @@ def test_validate_pot_response(response, expected):
|
||||
|
||||
|
||||
def test_built_in_provider(ie, logger):
|
||||
class BuiltInProviderDefaultT(BuiltInIEContentProvider, suffix='T'):
|
||||
class BuiltinProviderDefaultT(BuiltinIEContentProvider, suffix='T'):
|
||||
def is_available(self):
|
||||
return True
|
||||
|
||||
class BuiltInProviderCustomNameT(BuiltInIEContentProvider, suffix='T'):
|
||||
class BuiltinProviderCustomNameT(BuiltinIEContentProvider, suffix='T'):
|
||||
PROVIDER_NAME = 'CustomName'
|
||||
|
||||
def is_available(self):
|
||||
@ -1503,18 +1503,25 @@ def test_built_in_provider(ie, logger):
|
||||
def is_available(self) -> bool:
|
||||
return False
|
||||
|
||||
class BuiltInProviderUnavailableT(IEContentProvider, suffix='T'):
|
||||
class BuiltinProviderUnavailableT(IEContentProvider, suffix='T'):
|
||||
def is_available(self) -> bool:
|
||||
return False
|
||||
|
||||
built_in_default = BuiltInProviderDefaultT(ie=ie, logger=logger, settings={})
|
||||
built_in_custom_name = BuiltInProviderCustomNameT(ie=ie, logger=logger, settings={})
|
||||
built_in_unavailable = BuiltInProviderUnavailableT(ie=ie, logger=logger, settings={})
|
||||
built_in_default = BuiltinProviderDefaultT(ie=ie, logger=logger, settings={})
|
||||
built_in_custom_name = BuiltinProviderCustomNameT(ie=ie, logger=logger, settings={})
|
||||
built_in_unavailable = BuiltinProviderUnavailableT(ie=ie, logger=logger, settings={})
|
||||
external_default = ExternalProviderDefaultT(ie=ie, logger=logger, settings={})
|
||||
external_custom = ExternalProviderCustomT(ie=ie, logger=logger, settings={})
|
||||
external_unavailable = ExternalProviderUnavailableT(ie=ie, logger=logger, settings={})
|
||||
|
||||
assert provider_display_list([]) == 'none'
|
||||
assert provider_display_list([built_in_default]) == 'BuiltInProviderDefault'
|
||||
assert provider_display_list([built_in_default]) == 'BuiltinProviderDefault'
|
||||
assert provider_display_list([external_unavailable]) == 'ExternalProviderUnavailable-0.0.0 (external, unavailable)'
|
||||
assert provider_display_list([built_in_default, built_in_custom_name, external_default, external_custom, external_unavailable, built_in_unavailable]) == 'BuiltInProviderDefault, CustomName, ExternalProviderDefault-0.0.0 (external), custom-5.4b2 (external), ExternalProviderUnavailable-0.0.0 (external, unavailable), BuiltInProviderUnavailable-0.0.0 (external, unavailable)'
|
||||
assert provider_display_list([
|
||||
built_in_default,
|
||||
built_in_custom_name,
|
||||
external_default,
|
||||
external_custom,
|
||||
external_unavailable,
|
||||
built_in_unavailable],
|
||||
) == 'BuiltinProviderDefault, CustomName, ExternalProviderDefault-0.0.0 (external), custom-5.4b2 (external), ExternalProviderUnavailable-0.0.0 (external, unavailable), BuiltinProviderUnavailable-0.0.0 (external, unavailable)'
|
||||
|
||||
@ -1,2 +1,3 @@
|
||||
# Trigger import of built-in providers
|
||||
from ._builtin import _trigger_import # noqa: F401
|
||||
from ._builtin.memory_cache import MemoryLRUPCP as _MemoryLRUPCP # noqa: F401
|
||||
from ._builtin.webpo_cachespec import WebPoPCSP as _WebPoPCSP # noqa: F401
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
from .memory_cache import MemoryLRUPCP as _MemoryLRUPCP # noqa: F401
|
||||
from .webpo_cachespec import WebPoPCSP as _WebPoPCSP # noqa: F401
|
||||
|
||||
_trigger_import = None # noqa: F401
|
||||
@ -5,7 +5,7 @@ import typing
|
||||
from collections import OrderedDict
|
||||
from threading import Lock
|
||||
|
||||
from yt_dlp.extractor.youtube.pot._provider import BuiltInIEContentProvider
|
||||
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,
|
||||
@ -31,7 +31,7 @@ def initialize_global_cache(max_size: int):
|
||||
|
||||
|
||||
@register_provider
|
||||
class MemoryLRUPCP(PoTokenCacheProvider, BuiltInIEContentProvider):
|
||||
class MemoryLRUPCP(PoTokenCacheProvider, BuiltinIEContentProvider):
|
||||
PROVIDER_NAME = 'memory'
|
||||
DEFAULT_CACHE_SIZE = 25
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from yt_dlp.extractor.youtube.pot._provider import BuiltInIEContentProvider
|
||||
from yt_dlp.extractor.youtube.pot._provider import BuiltinIEContentProvider
|
||||
from yt_dlp.extractor.youtube.pot.cache import (
|
||||
CacheProviderWritePolicy,
|
||||
PoTokenCacheSpec,
|
||||
@ -15,7 +15,7 @@ from yt_dlp.utils import traverse_obj
|
||||
|
||||
|
||||
@register_spec
|
||||
class WebPoPCSP(PoTokenCacheSpecProvider, BuiltInIEContentProvider):
|
||||
class WebPoPCSP(PoTokenCacheSpecProvider, BuiltinIEContentProvider):
|
||||
PROVIDER_NAME = 'webpo'
|
||||
|
||||
def generate_cache_spec(self, request: PoTokenRequest) -> PoTokenCacheSpec | None:
|
||||
|
||||
@ -11,7 +11,7 @@ import urllib.parse
|
||||
from collections.abc import Iterable
|
||||
|
||||
from yt_dlp.extractor.youtube.pot._provider import (
|
||||
BuiltInIEContentProvider,
|
||||
BuiltinIEContentProvider,
|
||||
IEContentProvider,
|
||||
IEContentProviderLogger,
|
||||
)
|
||||
@ -415,9 +415,9 @@ def provider_display_list(providers: Iterable[IEContentProvider]):
|
||||
def provider_display_name(provider):
|
||||
display_str = join_nonempty(
|
||||
provider.PROVIDER_NAME,
|
||||
provider.PROVIDER_VERSION if not isinstance(provider, BuiltInIEContentProvider) else None)
|
||||
provider.PROVIDER_VERSION if not isinstance(provider, BuiltinIEContentProvider) else None)
|
||||
statuses = []
|
||||
if not isinstance(provider, BuiltInIEContentProvider):
|
||||
if not isinstance(provider, BuiltinIEContentProvider):
|
||||
statuses.append('external')
|
||||
if not provider.is_available():
|
||||
statuses.append('unavailable')
|
||||
|
||||
@ -120,7 +120,7 @@ class IEContentProvider(abc.ABC):
|
||||
return list(val) if casesense else [x.lower() for x in val]
|
||||
|
||||
|
||||
class BuiltInIEContentProvider(IEContentProvider, abc.ABC):
|
||||
class BuiltinIEContentProvider(IEContentProvider, abc.ABC):
|
||||
PROVIDER_VERSION = __version__
|
||||
BUG_REPORT_MESSAGE = bug_reports_message(before='')
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user