fix #2151 TMDB发现和趋势修改为TTL缓存
This commit is contained in:
@ -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)
|
||||||
|
@ -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):
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user