mirror of
https://github.com/maxdorninger/MediaManager.git
synced 2026-04-25 02:05:51 +02:00
refactor: change folder structure
This commit is contained in:
27
media_manager/metadataProvider/__init__.py
Normal file
27
media_manager/metadataProvider/__init__.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import logging
|
||||
from cachetools import TTLCache, cached
|
||||
|
||||
import metadataProvider.tmdb
|
||||
import metadataProvider.tvdb
|
||||
from media_manager.metadataProvider.abstractMetaDataProvider import metadata_providers
|
||||
from media_manager.metadataProvider.schemas import MetaDataProviderShowSearchResult
|
||||
from media_manager.tv.schemas import Show
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
search_show_cache = TTLCache(maxsize=128, ttl=24 * 60 * 60) # Cache for 24 hours
|
||||
|
||||
|
||||
def get_show_metadata(id: int = None, provider: str = "tmdb") -> Show:
|
||||
if id is None or provider is None:
|
||||
raise ValueError("Show Metadata requires id and provider")
|
||||
return metadata_providers[provider].get_show_metadata(id)
|
||||
|
||||
|
||||
@cached(search_show_cache)
|
||||
def search_show(
|
||||
query: str | None = None, provider: str = "tmdb"
|
||||
) -> list[MetaDataProviderShowSearchResult]:
|
||||
"""
|
||||
If no query is provided, it will return the most popular shows.
|
||||
"""
|
||||
return metadata_providers[provider].search_show(query)
|
||||
Reference in New Issue
Block a user