From 1eac52b9a2ab5d6d365c7a41022f2b404963453b Mon Sep 17 00:00:00 2001 From: jxxghp Date: Tue, 13 Jun 2023 20:51:51 +0800 Subject: [PATCH] fix rardar --- app/api/servarr.py | 17 +++++++++++------ app/chain/subscribe.py | 8 ++++---- app/db/subscribes.py | 6 +++--- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/app/api/servarr.py b/app/api/servarr.py index 9b990582..b1976917 100644 --- a/app/api/servarr.py +++ b/app/api/servarr.py @@ -283,7 +283,7 @@ async def arr_movie(apikey: str, mid: int, db: Session = Depends(get_db)) -> Any ) -@arr_router.post("/movie", response_model=schemas.Response) +@arr_router.post("/movie") async def arr_add_movie(apikey: str, movie: RadarrMovie) -> Any: """ 新增Rardar电影订阅 @@ -293,11 +293,16 @@ async def arr_add_movie(apikey: str, movie: RadarrMovie) -> Any: status_code=403, detail="认证失败!", ) - if SubscribeChain().process(title=movie.title, - year=str(movie.year) if movie.year else None, - mtype=MediaType.MOVIE, - tmdbid=movie.tmdbId): - return {"success": True, "msg": "添加订阅成功!"} + sid = SubscribeChain().process(title=movie.title, + year=str(movie.year) if movie.year else None, + mtype=MediaType.MOVIE, + tmdbid=movie.tmdbId) + if sid: + return { + "data": { + "id": sid + } + } else: raise HTTPException( status_code=500, diff --git a/app/chain/subscribe.py b/app/chain/subscribe.py index 2945114b..918ebd7c 100644 --- a/app/chain/subscribe.py +++ b/app/chain/subscribe.py @@ -34,7 +34,7 @@ class SubscribeChain(ChainBase): season: int = None, userid: str = None, username: str = None, - **kwargs) -> bool: + **kwargs) -> Optional[int]: """ 识别媒体信息并添加订阅 """ @@ -83,8 +83,8 @@ class SubscribeChain(ChainBase): 'total_episode': total_episode }) # 添加订阅 - state, err_msg = self.subscribes.add(mediainfo, season=season, **kwargs) - if not state: + sid, err_msg = self.subscribes.add(mediainfo, season=season, **kwargs) + if not sid: logger.error(f'{mediainfo.get_title_string()} {err_msg}') # 发回原用户 self.post_message(title=f"{mediainfo.get_title_string()}{metainfo.get_season_string()} " @@ -99,7 +99,7 @@ class SubscribeChain(ChainBase): text=f"评分:{mediainfo.vote_average},来自用户:{username or userid}", image=mediainfo.get_message_image()) # 返回结果 - return state + return sid def search(self, sid: int = None, state: str = 'N'): """ diff --git a/app/db/subscribes.py b/app/db/subscribes.py index e73b5a6b..0006e419 100644 --- a/app/db/subscribes.py +++ b/app/db/subscribes.py @@ -16,7 +16,7 @@ class Subscribes: def __init__(self, _db=SessionLocal()): self._db = _db - def add(self, mediainfo: MediaInfo, **kwargs) -> Tuple[bool, str]: + def add(self, mediainfo: MediaInfo, **kwargs) -> Tuple[int, str]: """ 新增订阅 """ @@ -29,9 +29,9 @@ class Subscribes: **kwargs) if not subscribe.exists(self._db, tmdbid=mediainfo.tmdb_id, season=kwargs.get('season')): subscribe.create(self._db) - return True, "新增订阅成功" + return subscribe.id, "新增订阅成功" else: - return False, "订阅已存在" + return subscribe.id, "订阅已存在" def get(self, sid: int) -> Subscribe: """