mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-10-30 03:48:03 +08:00
fix(types): type TMDB discover methods
This commit is contained in:
@@ -1,12 +1,19 @@
|
||||
from typing import Any, Callable, cast
|
||||
from urllib.parse import urlencode
|
||||
|
||||
from app.runtime.cache import cached
|
||||
from app.runtime.settings import get_runtime_setting
|
||||
|
||||
from ..tmdb import TMDb
|
||||
from ..tmdb import TMDb, TMDbJson
|
||||
|
||||
try:
|
||||
from urllib import urlencode
|
||||
except ImportError:
|
||||
from urllib.parse import urlencode
|
||||
_cached_discover = cast(
|
||||
Callable[[Callable[..., Any]], Callable[..., Any]],
|
||||
cached(
|
||||
maxsize=1,
|
||||
ttl=43200,
|
||||
empty_ttl=get_runtime_setting("EMPTY_RESULT_CACHE_TTL"),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
class Discover(TMDb):
|
||||
@@ -15,8 +22,11 @@ class Discover(TMDb):
|
||||
"tv": "/discover/tv"
|
||||
}
|
||||
|
||||
@cached(maxsize=1, ttl=43200, empty_ttl=get_runtime_setting('EMPTY_RESULT_CACHE_TTL'))
|
||||
def discover_movies(self, params_tuple):
|
||||
@_cached_discover
|
||||
def discover_movies(
|
||||
self,
|
||||
params_tuple: tuple[tuple[str, Any], ...],
|
||||
) -> TMDbJson:
|
||||
"""
|
||||
Discover movies by different types of data like average rating, number of votes, genres and certifications.
|
||||
:param params_tuple: dict
|
||||
@@ -25,8 +35,11 @@ class Discover(TMDb):
|
||||
params = dict(params_tuple)
|
||||
return self._request_obj(self._urls["movies"], urlencode(params), key="results", call_cached=False)
|
||||
|
||||
@cached(maxsize=1, ttl=43200, empty_ttl=get_runtime_setting('EMPTY_RESULT_CACHE_TTL'))
|
||||
def discover_tv_shows(self, params_tuple):
|
||||
@_cached_discover
|
||||
def discover_tv_shows(
|
||||
self,
|
||||
params_tuple: tuple[tuple[str, Any], ...],
|
||||
) -> TMDbJson:
|
||||
"""
|
||||
Discover TV shows by different types of data like average rating, number of votes, genres,
|
||||
the network they aired on and air dates.
|
||||
@@ -35,8 +48,11 @@ class Discover(TMDb):
|
||||
"""
|
||||
return self._request_obj(self._urls["tv"], urlencode(params_tuple), key="results", call_cached=False)
|
||||
|
||||
@cached(maxsize=1, ttl=43200, empty_ttl=get_runtime_setting('EMPTY_RESULT_CACHE_TTL'))
|
||||
async def async_discover_movies(self, params_tuple):
|
||||
@_cached_discover
|
||||
async def async_discover_movies(
|
||||
self,
|
||||
params_tuple: tuple[tuple[str, Any], ...],
|
||||
) -> TMDbJson:
|
||||
"""
|
||||
Discover movies by different types of data like average rating, number of votes, genres and certifications.(异步版本)
|
||||
:param params_tuple: dict
|
||||
@@ -45,8 +61,11 @@ class Discover(TMDb):
|
||||
params = dict(params_tuple)
|
||||
return await self._async_request_obj(self._urls["movies"], urlencode(params), key="results", call_cached=False)
|
||||
|
||||
@cached(maxsize=1, ttl=43200, empty_ttl=get_runtime_setting('EMPTY_RESULT_CACHE_TTL'))
|
||||
async def async_discover_tv_shows(self, params_tuple):
|
||||
@_cached_discover
|
||||
async def async_discover_tv_shows(
|
||||
self,
|
||||
params_tuple: tuple[tuple[str, Any], ...],
|
||||
) -> TMDbJson:
|
||||
"""
|
||||
Discover TV shows by different types of data like average rating, number of votes, genres,
|
||||
the network they aired on and air dates.(异步版本)
|
||||
|
||||
Reference in New Issue
Block a user