From 2caf56a523fae2894551feaaf476e66c0ba62e0e Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Fri, 2 Jun 2023 14:11:07 +0800 Subject: [PATCH] fix: Update JSONResponse --- src/module/api/bangumi.py | 13 ++++-------- src/module/manager/torrent.py | 38 +++++++++++++++++++++-------------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/module/api/bangumi.py b/src/module/api/bangumi.py index 6852b4c0..e2c700e1 100644 --- a/src/module/api/bangumi.py +++ b/src/module/api/bangumi.py @@ -1,5 +1,4 @@ from fastapi import Depends, HTTPException, status -from fastapi.responses import JSONResponse from .log import router @@ -40,8 +39,7 @@ async def update_data(data: BangumiData, current_user=Depends(get_current_user)) status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token" ) with TorrentManager() as torrent: - response = torrent.update_rule(data) - return JSONResponse(status_code=200, content=response) + return torrent.update_rule(data) @router.delete("/api/v1/bangumi/deleteRule/{bangumi_id}", tags=["bangumi"]) @@ -51,8 +49,7 @@ async def delete_data(bangumi_id: str, file:bool = False, current_user=Depends(g status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token" ) with TorrentManager() as torrent: - response = torrent.delete_rule(bangumi_id, file) - return JSONResponse(status_code=200, content=response) + return torrent.delete_rule(bangumi_id, file) @router.delete("/api/v1/bangumi/disableRule/{bangumi_id}", tags=["bangumi"]) @@ -64,8 +61,7 @@ async def delete_rule( status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token" ) with TorrentManager() as torrent: - response = torrent.disable_rule(bangumi_id, file) - return JSONResponse(status_code=200, content=response) + return torrent.disable_rule(bangumi_id, file) @router.get("/api/v1/bangumi/enableRule/{bangumi_id}", tags=["bangumi"]) @@ -75,8 +71,7 @@ async def enable_rule(bangumi_id: str, current_user=Depends(get_current_user)): status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token" ) with TorrentManager() as torrent: - response = torrent.enable_rule(bangumi_id) - return JSONResponse(status_code=200, content=response) + return torrent.enable_rule(bangumi_id) @router.get("/api/v1/bangumi/resetAll", tags=["bangumi"]) diff --git a/src/module/manager/torrent.py b/src/module/manager/torrent.py index 0d698570..5a6ce957 100644 --- a/src/module/manager/torrent.py +++ b/src/module/manager/torrent.py @@ -1,4 +1,5 @@ import logging +from fastapi.responses import JSONResponse from module.downloader import DownloadClient from module.models import BangumiData @@ -38,17 +39,19 @@ class TorrentManager(BangumiDatabase): self.delete_one(int(_id)) if file: self.delete_torrents(data, client) - return { + return JSONResponse(status_code=200, content={ "status": "success", "msg": f"Delete rule and torrents for {data.official_title}", - } + }) logger.info(f"[Manager] Delete rule for {data.official_title}") - return { + return JSONResponse(status_code=200, content={ "status": "success", "msg": f"Delete rule for {data.official_title}", - } + }) else: - return {"status": "error", "msg": f"Can't find id {_id}"} + return JSONResponse(status_code=406, content={ + {"status": "error", "msg": f"Can't find id {_id}"} + }) # data = self.search_id(int(_id)) # if isinstance(data, BangumiData): # self.delete_one(int(_id)) @@ -73,17 +76,19 @@ class TorrentManager(BangumiDatabase): self.update_one(data) if file: self.delete_torrents(data, client) - return { + return JSONResponse(status_code=200, content={ "status": "success", "msg": f"Disable rule and delete torrents for {data.official_title}", - } + }) logger.info(f"[Manager] Disable rule for {data.official_title}") - return { + return JSONResponse(status_code=200, content={ "status": "success", "msg": f"Disable rule for {data.official_title}", - } + }) else: - return {"status": "error", "msg": f"Can't find data with id {_id}"} + return JSONResponse(status_code=406, content={ + {"status": "error", "msg": f"Can't find id {_id}"} + }) def enable_rule(self, _id: str | int): data = self.search_id(int(_id)) @@ -93,16 +98,19 @@ class TorrentManager(BangumiDatabase): with DownloadClient() as client: client.set_rule(data) logger.info(f"[Manager] Enable rule for {data.official_title}") - return { + return JSONResponse(status_code=200, content={ "status": "success", "msg": f"Enable rule for {data.official_title}", - } + }) def update_rule(self, data: BangumiData): old_data = self.search_id(data.id) if not old_data: logger.error(f"[Manager] Can't find data with id {data.id}") - return {"status": "error", "msg": f"Can't find data with id {data.id}"} + return JSONResponse(status_code=406, content={ + "status": "error", + "msg": f"Can't find data with id {data.id}" + }) else: # Set torrent path match_list = self.__match_torrents_list(data) @@ -114,10 +122,10 @@ class TorrentManager(BangumiDatabase): client.remove_rule(data.rule_name) client.set_rule(data) self.update_one(data) - return { + return JSONResponse(status_code=200, content={ "status": "success", "msg": f"Set new path for {data.official_title}", - } + }) def search_all_bangumi(self): datas = self.search_all()