add ModuleBases

This commit is contained in:
jxxghp
2024-07-07 07:40:53 +08:00
parent 9b7896ab96
commit a567a8644b
6 changed files with 138 additions and 149 deletions
+32
View File
@@ -92,3 +92,35 @@ class _MessageBase:
if message.mtype.value not in switchs: if message.mtype.value not in switchs:
return False return False
return True return True
class _DownloaderBase:
"""
下载器基类
"""
_servers: Dict[str, Any] = {}
_default_server: Any = None
_default_server_name: str = None
def get_server(self, name: str = None) -> Optional[Any]:
"""
获取服务器,name为空则返回默认服务器
"""
if name:
return self._servers.get(name)
return self._default_server
class _MediaServerBase:
"""
媒体服务器基类
"""
_servers: Dict[str, Any] = {}
def get_server(self, name: str) -> Optional[Any]:
"""
获取Plex服务器
"""
return self._servers.get(name)
+28 -35
View File
@@ -4,20 +4,19 @@ from app import schemas
from app.core.context import MediaInfo from app.core.context import MediaInfo
from app.helper.mediaserver import MediaServerHelper from app.helper.mediaserver import MediaServerHelper
from app.log import logger from app.log import logger
from app.modules import _ModuleBase from app.modules import _ModuleBase, _MediaServerBase
from app.modules.emby.emby import Emby from app.modules.emby.emby import Emby
from app.schemas.types import MediaType from app.schemas.types import MediaType
class EmbyModule(_ModuleBase): class EmbyModule(_ModuleBase, _MediaServerBase):
_servers: Dict[str, Emby] = {}
def init_module(self) -> None: def init_module(self) -> None:
""" """
初始化模块 初始化模块
""" """
# 读取媒体服务器配置 # 读取媒体服务器配置
self._servers = {} self._servers: Dict[str, Emby] = {}
mediaservers = MediaServerHelper().get_mediaservers() mediaservers = MediaServerHelper().get_mediaservers()
if not mediaservers: if not mediaservers:
return return
@@ -25,12 +24,6 @@ class EmbyModule(_ModuleBase):
if server.type == "emby" and server.enabled: if server.type == "emby" and server.enabled:
self._servers[server.name] = Emby(**server.config) self._servers[server.name] = Emby(**server.config)
def get_server(self, name: str) -> Optional[Emby]:
"""
获取Emby服务器
"""
return self._servers.get(name)
@staticmethod @staticmethod
def get_name() -> str: def get_name() -> str:
return "Emby" return "Emby"
@@ -88,7 +81,7 @@ class EmbyModule(_ModuleBase):
""" """
source = args.get("source") source = args.get("source")
if source: if source:
server = self.get_server(source) server: Emby = self.get_server(source)
if not server: if not server:
return None return None
return server.get_webhook_message(form, args) return server.get_webhook_message(form, args)
@@ -152,10 +145,10 @@ class EmbyModule(_ModuleBase):
媒体数量统计 媒体数量统计
""" """
if server: if server:
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if not server_obj: if not server:
return None return None
servers = [server_obj] servers = [server]
else: else:
servers = self._servers.values() servers = self._servers.values()
media_statistics = [] media_statistics = []
@@ -172,27 +165,27 @@ class EmbyModule(_ModuleBase):
""" """
媒体库列表 媒体库列表
""" """
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if server_obj: if server:
return server_obj.get_librarys(username) return server.get_librarys(username)
return None return None
def mediaserver_items(self, server: str, library_id: str) -> Optional[Generator]: def mediaserver_items(self, server: str, library_id: str) -> Optional[Generator]:
""" """
媒体库项目列表 媒体库项目列表
""" """
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if server_obj: if server:
return server_obj.get_items(library_id) return server.get_items(library_id)
return None return None
def mediaserver_iteminfo(self, server: str, item_id: str) -> Optional[schemas.MediaServerItem]: def mediaserver_iteminfo(self, server: str, item_id: str) -> Optional[schemas.MediaServerItem]:
""" """
媒体库项目详情 媒体库项目详情
""" """
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if server_obj: if server:
return server_obj.get_iteminfo(item_id) return server.get_iteminfo(item_id)
return None return None
def mediaserver_tv_episodes(self, server: str, def mediaserver_tv_episodes(self, server: str,
@@ -200,10 +193,10 @@ class EmbyModule(_ModuleBase):
""" """
获取剧集信息 获取剧集信息
""" """
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if not server_obj: if not server:
return None return None
_, seasoninfo = server_obj.get_tv_episodes(item_id=item_id) _, seasoninfo = server.get_tv_episodes(item_id=item_id)
if not seasoninfo: if not seasoninfo:
return [] return []
return [schemas.MediaServerSeasonInfo( return [schemas.MediaServerSeasonInfo(
@@ -216,26 +209,26 @@ class EmbyModule(_ModuleBase):
""" """
获取媒体服务器正在播放信息 获取媒体服务器正在播放信息
""" """
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if not server_obj: if not server:
return [] return []
return server_obj.get_resume(num=count, username=username) return server.get_resume(num=count, username=username)
def mediaserver_play_url(self, server: str, item_id: Union[str, int]) -> Optional[str]: def mediaserver_play_url(self, server: str, item_id: Union[str, int]) -> Optional[str]:
""" """
获取媒体库播放地址 获取媒体库播放地址
""" """
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if not server_obj: if not server:
return None return None
return server_obj.get_play_url(item_id) return server.get_play_url(item_id)
def mediaserver_latest(self, server: str, def mediaserver_latest(self, server: str,
count: int = 20, username: str = None) -> List[schemas.MediaServerPlayItem]: count: int = 20, username: str = None) -> List[schemas.MediaServerPlayItem]:
""" """
获取媒体服务器最新入库条目 获取媒体服务器最新入库条目
""" """
server_obj = self.get_server(server) server: Emby = self.get_server(server)
if not server_obj: if not server:
return [] return []
return server_obj.get_latest(num=count, username=username) return server.get_latest(num=count, username=username)
+28 -35
View File
@@ -4,20 +4,19 @@ from app import schemas
from app.core.context import MediaInfo from app.core.context import MediaInfo
from app.helper.mediaserver import MediaServerHelper from app.helper.mediaserver import MediaServerHelper
from app.log import logger from app.log import logger
from app.modules import _ModuleBase from app.modules import _ModuleBase, _MediaServerBase
from app.modules.jellyfin.jellyfin import Jellyfin from app.modules.jellyfin.jellyfin import Jellyfin
from app.schemas.types import MediaType from app.schemas.types import MediaType
class JellyfinModule(_ModuleBase): class JellyfinModule(_ModuleBase, _MediaServerBase):
_servers: Dict[str, Jellyfin] = {}
def init_module(self) -> None: def init_module(self) -> None:
""" """
初始化模块 初始化模块
""" """
# 读取媒体服务器配置 # 读取媒体服务器配置
self._servers = {} self._servers: Dict[str, Jellyfin] = {}
mediaservers = MediaServerHelper().get_mediaservers() mediaservers = MediaServerHelper().get_mediaservers()
if not mediaservers: if not mediaservers:
return return
@@ -25,12 +24,6 @@ class JellyfinModule(_ModuleBase):
if server.type == "jellyfin" and server.enabled: if server.type == "jellyfin" and server.enabled:
self._servers[server.name] = Jellyfin(**server.config) self._servers[server.name] = Jellyfin(**server.config)
def get_server(self, name: str) -> Optional[Jellyfin]:
"""
获取Jellyfin服务器
"""
return self._servers.get(name)
@staticmethod @staticmethod
def get_name() -> str: def get_name() -> str:
return "Jellyfin" return "Jellyfin"
@@ -88,7 +81,7 @@ class JellyfinModule(_ModuleBase):
""" """
source = args.get("source") source = args.get("source")
if source: if source:
server = self.get_server(source) server: Jellyfin = self.get_server(source)
if not server: if not server:
return None return None
return server.get_webhook_message(body) return server.get_webhook_message(body)
@@ -150,10 +143,10 @@ class JellyfinModule(_ModuleBase):
媒体数量统计 媒体数量统计
""" """
if server: if server:
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if not server_obj: if not server:
return None return None
servers = [server_obj] servers = [server]
else: else:
servers = self._servers.values() servers = self._servers.values()
media_statistics = [] media_statistics = []
@@ -170,27 +163,27 @@ class JellyfinModule(_ModuleBase):
""" """
媒体库列表 媒体库列表
""" """
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if server_obj: if server:
return server_obj.get_librarys(username) return server.get_librarys(username)
return None return None
def mediaserver_items(self, server: str, library_id: str) -> Optional[Generator]: def mediaserver_items(self, server: str, library_id: str) -> Optional[Generator]:
""" """
媒体库项目列表 媒体库项目列表
""" """
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if server_obj: if server:
return server_obj.get_items(library_id) return server.get_items(library_id)
return None return None
def mediaserver_iteminfo(self, server: str, item_id: str) -> Optional[schemas.MediaServerItem]: def mediaserver_iteminfo(self, server: str, item_id: str) -> Optional[schemas.MediaServerItem]:
""" """
媒体库项目详情 媒体库项目详情
""" """
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if server_obj: if server:
return server_obj.get_iteminfo(item_id) return server.get_iteminfo(item_id)
return None return None
def mediaserver_tv_episodes(self, server: str, def mediaserver_tv_episodes(self, server: str,
@@ -198,10 +191,10 @@ class JellyfinModule(_ModuleBase):
""" """
获取剧集信息 获取剧集信息
""" """
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if not server_obj: if not server:
return None return None
_, seasoninfo = server_obj.get_tv_episodes(item_id=item_id) _, seasoninfo = server.get_tv_episodes(item_id=item_id)
if not seasoninfo: if not seasoninfo:
return [] return []
return [schemas.MediaServerSeasonInfo( return [schemas.MediaServerSeasonInfo(
@@ -214,26 +207,26 @@ class JellyfinModule(_ModuleBase):
""" """
获取媒体服务器正在播放信息 获取媒体服务器正在播放信息
""" """
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if not server_obj: if not server:
return [] return []
return server_obj.get_resume(num=count, username=username) return server.get_resume(num=count, username=username)
def mediaserver_play_url(self, server: str, item_id: Union[str, int]) -> Optional[str]: def mediaserver_play_url(self, server: str, item_id: Union[str, int]) -> Optional[str]:
""" """
获取媒体库播放地址 获取媒体库播放地址
""" """
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if not server_obj: if not server:
return None return None
return server_obj.get_play_url(item_id) return server.get_play_url(item_id)
def mediaserver_latest(self, server: str, def mediaserver_latest(self, server: str,
count: int = 20, username: str = None) -> List[schemas.MediaServerPlayItem]: count: int = 20, username: str = None) -> List[schemas.MediaServerPlayItem]:
""" """
获取媒体服务器最新入库条目 获取媒体服务器最新入库条目
""" """
server_obj = self.get_server(server) server: Jellyfin = self.get_server(server)
if not server_obj: if not server:
return [] return []
return server_obj.get_latest(num=count, username=username) return server.get_latest(num=count, username=username)
+28 -35
View File
@@ -4,20 +4,19 @@ from app import schemas
from app.core.context import MediaInfo from app.core.context import MediaInfo
from app.helper.mediaserver import MediaServerHelper from app.helper.mediaserver import MediaServerHelper
from app.log import logger from app.log import logger
from app.modules import _ModuleBase from app.modules import _ModuleBase, _MediaServerBase
from app.modules.plex.plex import Plex from app.modules.plex.plex import Plex
from app.schemas.types import MediaType from app.schemas.types import MediaType
class PlexModule(_ModuleBase): class PlexModule(_ModuleBase, _MediaServerBase):
_servers: Dict[str, Plex] = {}
def init_module(self) -> None: def init_module(self) -> None:
""" """
初始化模块 初始化模块
""" """
# 读取媒体服务器配置 # 读取媒体服务器配置
self._servers = {} self._servers: Dict[str, Plex] = {}
mediaservers = MediaServerHelper().get_mediaservers() mediaservers = MediaServerHelper().get_mediaservers()
if not mediaservers: if not mediaservers:
return return
@@ -29,12 +28,6 @@ class PlexModule(_ModuleBase):
def get_name() -> str: def get_name() -> str:
return "Plex" return "Plex"
def get_server(self, name: str) -> Optional[Plex]:
"""
获取Plex服务器
"""
return self._servers.get(name)
def stop(self): def stop(self):
pass pass
@@ -74,7 +67,7 @@ class PlexModule(_ModuleBase):
""" """
source = args.get("source") source = args.get("source")
if source: if source:
server = self.get_server(source) server: Plex = self.get_server(source)
if not server: if not server:
return None return None
return server.get_webhook_message(body) return server.get_webhook_message(body)
@@ -140,10 +133,10 @@ class PlexModule(_ModuleBase):
媒体数量统计 媒体数量统计
""" """
if server: if server:
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if not server_obj: if not server:
return None return None
servers = [server_obj] servers = [server]
else: else:
servers = self._servers.values() servers = self._servers.values()
media_statistics = [] media_statistics = []
@@ -158,27 +151,27 @@ class PlexModule(_ModuleBase):
""" """
媒体库列表 媒体库列表
""" """
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if server_obj: if server:
return server_obj.get_librarys() return server.get_librarys()
return None return None
def mediaserver_items(self, server: str, library_id: str) -> Optional[Generator]: def mediaserver_items(self, server: str, library_id: str) -> Optional[Generator]:
""" """
媒体库项目列表 媒体库项目列表
""" """
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if server_obj: if server:
return server_obj.get_items(library_id) return server.get_items(library_id)
return None return None
def mediaserver_iteminfo(self, server: str, item_id: str) -> Optional[schemas.MediaServerItem]: def mediaserver_iteminfo(self, server: str, item_id: str) -> Optional[schemas.MediaServerItem]:
""" """
媒体库项目详情 媒体库项目详情
""" """
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if server_obj: if server:
return server_obj.get_iteminfo(item_id) return server.get_iteminfo(item_id)
return None return None
def mediaserver_tv_episodes(self, server: str, def mediaserver_tv_episodes(self, server: str,
@@ -186,10 +179,10 @@ class PlexModule(_ModuleBase):
""" """
获取剧集信息 获取剧集信息
""" """
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if not server_obj: if not server:
return None return None
_, seasoninfo = server_obj.get_tv_episodes(item_id=item_id) _, seasoninfo = server.get_tv_episodes(item_id=item_id)
if not seasoninfo: if not seasoninfo:
return [] return []
return [schemas.MediaServerSeasonInfo( return [schemas.MediaServerSeasonInfo(
@@ -201,25 +194,25 @@ class PlexModule(_ModuleBase):
""" """
获取媒体服务器正在播放信息 获取媒体服务器正在播放信息
""" """
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if not server_obj: if not server:
return [] return []
return server_obj.get_resume(num=count) return server.get_resume(num=count)
def mediaserver_latest(self, server: str, count: int = 20, **kwargs) -> List[schemas.MediaServerPlayItem]: def mediaserver_latest(self, server: str, count: int = 20, **kwargs) -> List[schemas.MediaServerPlayItem]:
""" """
获取媒体服务器最新入库条目 获取媒体服务器最新入库条目
""" """
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if not server_obj: if not server:
return [] return []
return server_obj.get_latest(num=count) return server.get_latest(num=count)
def mediaserver_play_url(self, server: str, item_id: Union[str, int]) -> Optional[str]: def mediaserver_play_url(self, server: str, item_id: Union[str, int]) -> Optional[str]:
""" """
获取媒体库播放地址 获取媒体库播放地址
""" """
server_obj = self.get_server(server) server: Plex = self.get_server(server)
if not server_obj: if not server:
return None return None
return server_obj.get_play_url(item_id) return server.get_play_url(item_id)
+11 -22
View File
@@ -10,7 +10,7 @@ from app.core.config import settings
from app.core.metainfo import MetaInfo from app.core.metainfo import MetaInfo
from app.helper.downloader import DownloaderHelper from app.helper.downloader import DownloaderHelper
from app.log import logger from app.log import logger
from app.modules import _ModuleBase from app.modules import _ModuleBase, _DownloaderBase
from app.modules.qbittorrent.qbittorrent import Qbittorrent from app.modules.qbittorrent.qbittorrent import Qbittorrent
from app.schemas import TransferTorrent, DownloadingTorrent from app.schemas import TransferTorrent, DownloadingTorrent
from app.schemas.types import TorrentStatus from app.schemas.types import TorrentStatus
@@ -18,17 +18,14 @@ from app.utils.string import StringUtils
from app.utils.system import SystemUtils from app.utils.system import SystemUtils
class QbittorrentModule(_ModuleBase): class QbittorrentModule(_ModuleBase, _DownloaderBase):
_servers: Dict[str, Qbittorrent] = {}
_default_server: Qbittorrent = None
_default_server_name: str = None
def init_module(self) -> None: def init_module(self) -> None:
""" """
初始化模块 初始化模块
""" """
# 读取下载器配置 # 读取下载器配置
self._servers = {} self._servers: Dict[str, Qbittorrent] = {}
downloaders = DownloaderHelper().get_downloaders() downloaders = DownloaderHelper().get_downloaders()
if not downloaders: if not downloaders:
return return
@@ -43,14 +40,6 @@ class QbittorrentModule(_ModuleBase):
def get_name() -> str: def get_name() -> str:
return "Qbittorrent" return "Qbittorrent"
def get_server(self, name: str = None) -> Optional[Qbittorrent]:
"""
获取服务器,name为空则返回默认服务器
"""
if name:
return self._servers.get(name)
return self._default_server
def stop(self): def stop(self):
pass pass
@@ -112,7 +101,7 @@ class QbittorrentModule(_ModuleBase):
return None, None, f"种子文件不存在:{content}" return None, None, f"种子文件不存在:{content}"
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
@@ -210,7 +199,7 @@ class QbittorrentModule(_ModuleBase):
:return: 下载器中符合状态的种子列表 :return: 下载器中符合状态的种子列表
""" """
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
@@ -282,7 +271,7 @@ class QbittorrentModule(_ModuleBase):
:param path: 源目录 :param path: 源目录
:param downloader: 下载器 :param downloader: 下载器
""" """
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
server.set_torrents_tag(ids=hashs, tags=['已整理']) server.set_torrents_tag(ids=hashs, tags=['已整理'])
@@ -306,7 +295,7 @@ class QbittorrentModule(_ModuleBase):
:param downloader: 下载器 :param downloader: 下载器
:return: bool :return: bool
""" """
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
return server.delete_torrents(delete_file=delete_file, ids=hashs) return server.delete_torrents(delete_file=delete_file, ids=hashs)
@@ -319,7 +308,7 @@ class QbittorrentModule(_ModuleBase):
:param downloader: 下载器 :param downloader: 下载器
:return: bool :return: bool
""" """
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
return server.start_torrents(ids=hashs) return server.start_torrents(ids=hashs)
@@ -331,7 +320,7 @@ class QbittorrentModule(_ModuleBase):
:param downloader: 下载器 :param downloader: 下载器
:return: bool :return: bool
""" """
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
return server.stop_torrents(ids=hashs) return server.stop_torrents(ids=hashs)
@@ -340,7 +329,7 @@ class QbittorrentModule(_ModuleBase):
""" """
获取种子文件列表 获取种子文件列表
""" """
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
return server.get_files(tid=tid) return server.get_files(tid=tid)
@@ -350,7 +339,7 @@ class QbittorrentModule(_ModuleBase):
下载器信息 下载器信息
""" """
if downloader: if downloader:
server = self.get_server(downloader) server: Qbittorrent = self.get_server(downloader)
if not server: if not server:
return None return None
servers = [server] servers = [server]
+11 -22
View File
@@ -10,7 +10,7 @@ from app.core.config import settings
from app.core.metainfo import MetaInfo from app.core.metainfo import MetaInfo
from app.helper.downloader import DownloaderHelper from app.helper.downloader import DownloaderHelper
from app.log import logger from app.log import logger
from app.modules import _ModuleBase from app.modules import _ModuleBase, _DownloaderBase
from app.modules.transmission.transmission import Transmission from app.modules.transmission.transmission import Transmission
from app.schemas import TransferTorrent, DownloadingTorrent from app.schemas import TransferTorrent, DownloadingTorrent
from app.schemas.types import TorrentStatus from app.schemas.types import TorrentStatus
@@ -18,14 +18,11 @@ from app.utils.string import StringUtils
from app.utils.system import SystemUtils from app.utils.system import SystemUtils
class TransmissionModule(_ModuleBase): class TransmissionModule(_ModuleBase, _DownloaderBase):
_servers: Dict[str, Transmission] = {}
_default_server: Transmission = None
_default_server_name: str = None
def init_module(self) -> None: def init_module(self) -> None:
# 读取下载器配置 # 读取下载器配置
self._servers = {} self._servers: Dict[str, Transmission] = {}
downloaders = DownloaderHelper().get_downloaders() downloaders = DownloaderHelper().get_downloaders()
if not downloaders: if not downloaders:
return return
@@ -39,14 +36,6 @@ class TransmissionModule(_ModuleBase):
@staticmethod @staticmethod
def get_name() -> str: def get_name() -> str:
return "Transmission" return "Transmission"
def get_server(self, name: str = None) -> Optional[Transmission]:
"""
获取服务器,name为空则返回默认服务器
"""
if name:
return self._servers.get(name)
return self._default_server
def stop(self): def stop(self):
pass pass
@@ -111,7 +100,7 @@ class TransmissionModule(_ModuleBase):
return None, None, f"种子文件不存在:{content}" return None, None, f"种子文件不存在:{content}"
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
@@ -202,7 +191,7 @@ class TransmissionModule(_ModuleBase):
:return: 下载器中符合状态的种子列表 :return: 下载器中符合状态的种子列表
""" """
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
ret_torrents = [] ret_torrents = []
@@ -270,7 +259,7 @@ class TransmissionModule(_ModuleBase):
:return: None :return: None
""" """
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
# 获取原标签 # 获取原标签
@@ -302,7 +291,7 @@ class TransmissionModule(_ModuleBase):
:return: bool :return: bool
""" """
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
return server.delete_torrents(delete_file=delete_file, ids=hashs) return server.delete_torrents(delete_file=delete_file, ids=hashs)
@@ -316,7 +305,7 @@ class TransmissionModule(_ModuleBase):
:return: bool :return: bool
""" """
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
return server.start_torrents(ids=hashs) return server.start_torrents(ids=hashs)
@@ -330,7 +319,7 @@ class TransmissionModule(_ModuleBase):
:return: bool :return: bool
""" """
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
return server.start_torrents(ids=hashs) return server.start_torrents(ids=hashs)
@@ -340,7 +329,7 @@ class TransmissionModule(_ModuleBase):
获取种子文件列表 获取种子文件列表
""" """
# 获取下载器 # 获取下载器
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
return server.get_files(tid=tid) return server.get_files(tid=tid)
@@ -350,7 +339,7 @@ class TransmissionModule(_ModuleBase):
下载器信息 下载器信息
""" """
if downloader: if downloader:
server = self.get_server(downloader) server: Transmission = self.get_server(downloader)
if not server: if not server:
return None return None
servers = [server] servers = [server]