fix #2151 TMDB发现和趋势修改为TTL缓存

This commit is contained in:
jxxghp
2024-05-24 09:29:51 +08:00
parent 6ee6de48ff
commit a278c80951
3 changed files with 13 additions and 3 deletions

View File

@ -1,4 +1,5 @@
from ..tmdb import TMDb from ..tmdb import TMDb
from cachetools import cached, TTLCache
try: try:
from urllib import urlencode from urllib import urlencode
@ -12,14 +13,16 @@ class Discover(TMDb):
"tv": "/discover/tv" "tv": "/discover/tv"
} }
@cached(cache=TTLCache(maxsize=1, ttl=43200))
def discover_movies(self, params): def discover_movies(self, params):
""" """
Discover movies by different types of data like average rating, number of votes, genres and certifications. Discover movies by different types of data like average rating, number of votes, genres and certifications.
:param params: dict :param params: dict
:return: :return:
""" """
return self._request_obj(self._urls["movies"], urlencode(params), key="results") return self._request_obj(self._urls["movies"], urlencode(params), key="results", call_cached=False)
@cached(cache=TTLCache(maxsize=1, ttl=43200))
def discover_tv_shows(self, params): def discover_tv_shows(self, params):
""" """
Discover TV shows by different types of data like average rating, number of votes, genres, Discover TV shows by different types of data like average rating, number of votes, genres,
@ -27,4 +30,4 @@ class Discover(TMDb):
:param params: dict :param params: dict
:return: :return:
""" """
return self._request_obj(self._urls["tv"], urlencode(params), key="results") return self._request_obj(self._urls["tv"], urlencode(params), key="results", call_cached=False)

View File

@ -1,14 +1,21 @@
from cachetools import cached, TTLCache
from ..tmdb import TMDb from ..tmdb import TMDb
class Trending(TMDb): class Trending(TMDb):
_urls = {"trending": "/trending/%s/%s"} _urls = {"trending": "/trending/%s/%s"}
@cached(cache=TTLCache(maxsize=1, ttl=43200))
def _trending(self, media_type="all", time_window="day", page=1): def _trending(self, media_type="all", time_window="day", page=1):
"""
Get trending, TTLCache 12 hours
"""
return self._request_obj( return self._request_obj(
self._urls["trending"] % (media_type, time_window), self._urls["trending"] % (media_type, time_window),
params="page=%s" % page, params="page=%s" % page,
key="results", key="results",
call_cached=False
) )
def all_day(self, page=1): def all_day(self, page=1):

View File

@ -141,7 +141,7 @@ class TMDb(object):
def cached_request(self, method, url, data, json, def cached_request(self, method, url, data, json,
_ts=datetime.strftime(datetime.now(), '%Y%m%d')): _ts=datetime.strftime(datetime.now(), '%Y%m%d')):
""" """
缓存请求时间默认1天None不缓存 缓存请求
""" """
return self.request(method, url, data, json) return self.request(method, url, data, json)