diff --git a/app/api/endpoints/download.py b/app/api/endpoints/download.py index cd970cd8..6739c1d0 100644 --- a/app/api/endpoints/download.py +++ b/app/api/endpoints/download.py @@ -28,6 +28,7 @@ def list( def download( media_in: schemas.MediaInfo, torrent_in: schemas.TorrentInfo, + downloader: str = None, current_user: User = Depends(get_current_active_user)) -> Any: """ 添加下载任务(含媒体信息) @@ -46,7 +47,7 @@ def download( media_info=mediainfo, torrent_info=torrentinfo ) - did = DownloadChain().download_single(context=context, username=current_user.name) + did = DownloadChain().download_single(context=context, username=current_user.name, downloader=downloader) if not did: return schemas.Response(success=False, message="任务添加失败") return schemas.Response(success=True, data={ @@ -57,6 +58,7 @@ def download( @router.post("/add", summary="添加下载(不含媒体信息)", response_model=schemas.Response) def add( torrent_in: schemas.TorrentInfo, + downloader: str = None, current_user: User = Depends(get_current_active_user)) -> Any: """ 添加下载任务(不含媒体信息) @@ -76,7 +78,7 @@ def add( media_info=mediainfo, torrent_info=torrentinfo ) - did = DownloadChain().download_single(context=context, username=current_user.name) + did = DownloadChain().download_single(context=context, username=current_user.name, downloader=downloader) if not did: return schemas.Response(success=False, message="任务添加失败") return schemas.Response(success=True, data={ diff --git a/app/chain/download.py b/app/chain/download.py index 20049d1e..178be71c 100644 --- a/app/chain/download.py +++ b/app/chain/download.py @@ -206,7 +206,8 @@ def download_single(self, context: Context, torrent_file: Path = None, channel: MessageChannel = None, source: str = None, save_path: str = None, userid: Union[str, int] = None, - username: str = None) -> Optional[str]: + username: str = None, + downloader: str = None) -> Optional[str]: """ 下载及发送通知 :param context: 资源上下文 @@ -217,6 +218,7 @@ def download_single(self, context: Context, torrent_file: Path = None, :param save_path: 保存路径 :param userid: 用户ID :param username: 调用下载的用户名/插件名 + :param downloader: 下载器 """ _torrent = context.torrent_info _media = context.media_info @@ -282,7 +284,8 @@ def download_single(self, context: Context, torrent_file: Path = None, cookie=_torrent.site_cookie, episodes=episodes, download_dir=download_dir, - category=_media.category) + category=_media.category, + downloader=downloader) if result: _downloader, _hash, error_msg = result else: