mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-04 23:17:20 +08:00
refactor (module): improve the implementation of base classes
This commit is contained in:
@@ -25,16 +25,16 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
初始化模块
|
||||
"""
|
||||
# 读取下载器配置
|
||||
self._servers: Dict[str, Qbittorrent] = {}
|
||||
downloaders = DownloaderHelper().get_downloaders()
|
||||
if not downloaders:
|
||||
self._instances: Dict[str, Qbittorrent] = {}
|
||||
configs = DownloaderHelper().get_downloader_conf()
|
||||
if not configs:
|
||||
return
|
||||
for server in downloaders:
|
||||
if server.type == "qbittorrent" and server.enabled:
|
||||
self._servers[server.name] = Qbittorrent(**server.config)
|
||||
if server.default:
|
||||
self._default_server_name = server.name
|
||||
self._default_server = self._servers[server.name]
|
||||
for conf in configs:
|
||||
if conf.type == "qbittorrent" and conf.enabled:
|
||||
self._instances[conf.name] = Qbittorrent(**conf.config)
|
||||
if conf.default:
|
||||
self._default_server_name = conf.name
|
||||
self._default_server = self._instances[conf.name]
|
||||
|
||||
@staticmethod
|
||||
def get_name() -> str:
|
||||
@@ -47,9 +47,9 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
"""
|
||||
测试模块连接性
|
||||
"""
|
||||
if not self._servers:
|
||||
if not self._instances:
|
||||
return None
|
||||
for name, server in self._servers.items():
|
||||
for name, server in self._instances.items():
|
||||
if server.is_inactive():
|
||||
server.reconnect()
|
||||
if not server.transfer_info():
|
||||
@@ -63,7 +63,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
"""
|
||||
定时任务,每10分钟调用一次
|
||||
"""
|
||||
for name, server in self._servers.items():
|
||||
for name, server in self._instances.items():
|
||||
if server.is_inactive():
|
||||
logger.info(f"Qbittorrent下载器 {name} 连接断开,尝试重连 ...")
|
||||
server.reconnect()
|
||||
@@ -103,7 +103,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
return None, None, f"种子文件不存在:{content}"
|
||||
|
||||
# 获取下载器
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
|
||||
@@ -201,7 +201,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
:return: 下载器中符合状态的种子列表
|
||||
"""
|
||||
# 获取下载器
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
|
||||
@@ -274,7 +274,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
:param downloader: 下载器
|
||||
:param transfer_type: 整理方式
|
||||
"""
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
server.set_torrents_tag(ids=hashs, tags=['已整理'])
|
||||
@@ -298,7 +298,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
:param downloader: 下载器
|
||||
:return: bool
|
||||
"""
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
return server.delete_torrents(delete_file=delete_file, ids=hashs)
|
||||
@@ -311,7 +311,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
:param downloader: 下载器
|
||||
:return: bool
|
||||
"""
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
return server.start_torrents(ids=hashs)
|
||||
@@ -323,7 +323,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
:param downloader: 下载器
|
||||
:return: bool
|
||||
"""
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
return server.stop_torrents(ids=hashs)
|
||||
@@ -332,7 +332,7 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
"""
|
||||
获取种子文件列表
|
||||
"""
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
return server.get_files(tid=tid)
|
||||
@@ -342,12 +342,12 @@ class QbittorrentModule(_ModuleBase, _DownloaderBase):
|
||||
下载器信息
|
||||
"""
|
||||
if downloader:
|
||||
server: Qbittorrent = self.get_server(downloader)
|
||||
server: Qbittorrent = self.get_instance(downloader)
|
||||
if not server:
|
||||
return None
|
||||
servers = [server]
|
||||
else:
|
||||
servers = self._servers.values()
|
||||
servers = self._instances.values()
|
||||
# 调用Qbittorrent API查询实时信息
|
||||
ret_info = []
|
||||
for server in servers:
|
||||
|
||||
Reference in New Issue
Block a user