66from typing import Any
77
88from module .conf import settings
9- from module .downloader .client import AuthorizationError , BaseDownloader , Downloader
109from module .models import Torrent , TorrentDownloadInfo
1110from module .utils import gen_save_path
1211
12+ from .client import AuthorizationError , BaseDownloader
13+
1314logger = logging .getLogger (__name__ )
1415
1516
@@ -106,7 +107,7 @@ class DownloadClient:
106107 """
107108
108109 def __init__ (self ):
109- self .downloader : BaseDownloader | None = None
110+ self .downloader : BaseDownloader = self . get_downloader ()
110111 # 用于等待登陆完成
111112 self .login_success_event : asyncio .Event = asyncio .Event ()
112113 self .login_timeout : int = 30 # 30秒超时
@@ -122,12 +123,7 @@ def __init__(self):
122123
123124 def initialize (self ):
124125 # 根据设置动态获取下载器
125- downloader_type = settings .downloader .type
126- package_path = f"module.downloader.client.{ downloader_type } "
127- downloader_module = importlib .import_module (package_path )
128- DownloaderClass = downloader_module .Downloader
129- print (f"[Downloader Client] Using downloader: { downloader_type } " )
130- self .downloader = DownloaderClass ()
126+ self .get_downloader ()
131127
132128 # 初始化下载器
133129 self .downloader .initialize ()
@@ -138,8 +134,11 @@ def initialize(self):
138134 def get_downloader (self ) -> BaseDownloader :
139135 """获取下载器实例"""
140136 downloader_type = settings .downloader .type
141-
142- return self .downloader
137+ package_path = f"module.downloader.client.{ downloader_type } "
138+ downloader_module = importlib .import_module (package_path )
139+ DownloaderClass = downloader_module .Downloader
140+ logger .debug (f"[Downloader Client] Using downloader: { downloader_type } " )
141+ return DownloaderClass ()
143142
144143 async def login (self ):
145144 """一次性登录尝试,不重试"""
0 commit comments