From 90633a64951a8be17f61b946644607ae5f71e934 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 27 Aug 2025 15:57:43 +0800 Subject: [PATCH] fix #4851 --- app/modules/douban/apiv2.py | 12 +++++------- app/modules/themoviedb/tmdbv3api/tmdb.py | 4 ++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/app/modules/douban/apiv2.py b/app/modules/douban/apiv2.py index f4ff320c..d7a3e72a 100644 --- a/app/modules/douban/apiv2.py +++ b/app/modules/douban/apiv2.py @@ -226,11 +226,9 @@ class DoubanApi(metaclass=WeakSingleton): """ 处理HTTP响应 """ - if resp is not None and resp.status_code == 400 and "rate_limit" in resp.text: - return resp.json() - return resp.json() if resp else {} + return resp.json() if resp is not None else None - @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta) + @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta, skip_none=True) def __invoke(self, url: str, **kwargs) -> dict: """ GET请求 @@ -242,7 +240,7 @@ class DoubanApi(metaclass=WeakSingleton): ).get_res(url=req_url, params=params) return self._handle_response(resp) - @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta) + @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta, skip_none=True) async def __async_invoke(self, url: str, **kwargs) -> dict: """ GET请求(异步版本) @@ -265,7 +263,7 @@ class DoubanApi(metaclass=WeakSingleton): params.pop('_ts') return req_url, params - @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta) + @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta, skip_none=True) def __post(self, url: str, **kwargs) -> dict: """ POST请求 @@ -287,7 +285,7 @@ class DoubanApi(metaclass=WeakSingleton): ).post_res(url=req_url, data=params) return self._handle_response(resp) - @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta) + @cached(maxsize=settings.CONF.douban, ttl=settings.CONF.meta, skip_none=True) async def __async_post(self, url: str, **kwargs) -> dict: """ POST请求(异步版本) diff --git a/app/modules/themoviedb/tmdbv3api/tmdb.py b/app/modules/themoviedb/tmdbv3api/tmdb.py index e4c15380..c7869eba 100644 --- a/app/modules/themoviedb/tmdbv3api/tmdb.py +++ b/app/modules/themoviedb/tmdbv3api/tmdb.py @@ -125,12 +125,12 @@ class TMDb(object): def cache(self, cache): self._cache_enabled = bool(cache) - @cached(maxsize=settings.CONF.tmdb, ttl=settings.CONF.meta) + @cached(maxsize=settings.CONF.tmdb, ttl=settings.CONF.meta, skip_none=True) def cached_request(self, method, url, data, json, _ts=datetime.strftime(datetime.now(), '%Y%m%d')): return self.request(method, url, data, json) - @cached(maxsize=settings.CONF.tmdb, ttl=settings.CONF.meta) + @cached(maxsize=settings.CONF.tmdb, ttl=settings.CONF.meta, skip_none=True) async def async_cached_request(self, method, url, data, json, _ts=datetime.strftime(datetime.now(), '%Y%m%d')): return await self.async_request(method, url, data, json)