This commit is contained in:
jxxghp
2023-09-28 16:23:10 +08:00
parent e6af2c0f34
commit 02111a3b9f
10 changed files with 42 additions and 6 deletions

View File

@ -28,7 +28,7 @@ class EmbyModule(_ModuleBase):
"""
# 定时重连
if not self.emby.is_inactive():
self.emby = Emby()
self.emby.reconnect()
def user_authenticate(self, name: str, password: str) -> Optional[str]:
"""

View File

@ -35,6 +35,13 @@ class Emby(metaclass=Singleton):
return False
return True if not self.user else False
def reconnect(self):
"""
重连
"""
self.user = self.get_user()
self.folders = self.get_emby_folders()
def get_emby_folders(self) -> List[dict]:
"""
获取Emby媒体库路径列表

View File

@ -1,4 +1,3 @@
import json
from pathlib import Path
from typing import Optional, Tuple, Union, Any, List, Generator
@ -26,7 +25,7 @@ class JellyfinModule(_ModuleBase):
"""
# 定时重连
if not self.jellyfin.is_inactive():
self.jellyfin = Jellyfin()
self.jellyfin.reconnect()
def stop(self):
pass

View File

@ -33,6 +33,13 @@ class Jellyfin(metaclass=Singleton):
return False
return True if not self.user else False
def reconnect(self):
"""
重连
"""
self.user = self.get_user()
self.serverid = self.get_server_id()
def __get_jellyfin_librarys(self) -> List[dict]:
"""
获取Jellyfin媒体库的信息

View File

@ -29,7 +29,7 @@ class PlexModule(_ModuleBase):
"""
# 定时重连
if not self.plex.is_inactive():
self.plex = Plex()
self.plex.reconnect()
def webhook_parser(self, body: Any, form: Any, args: Any) -> Optional[WebhookEventInfo]:
"""

View File

@ -38,6 +38,17 @@ class Plex(metaclass=Singleton):
return False
return True if not self._plex else False
def reconnect(self):
"""
重连
"""
try:
self._plex = PlexServer(self._host, self._token)
self._libraries = self._plex.library.sections()
except Exception as e:
self._plex = None
logger.error(f"Plex服务器连接失败{str(e)}")
def get_librarys(self):
"""
获取媒体服务器所有媒体库列表

View File

@ -34,7 +34,7 @@ class QbittorrentModule(_ModuleBase):
"""
# 定时重连
if self.qbittorrent.is_inactive():
self.qbittorrent = Qbittorrent()
self.qbittorrent.reconnect()
def download(self, content: Union[Path, str], download_dir: Path, cookie: str,
episodes: Set[int] = None, category: str = None) -> Optional[Tuple[Optional[str], str]]:

View File

@ -35,6 +35,12 @@ class Qbittorrent(metaclass=Singleton):
return False
return True if not self.qbc else False
def reconnect(self):
"""
重连
"""
self.qbc = self.__login_qbittorrent()
def __login_qbittorrent(self) -> Optional[Client]:
"""
连接qbittorrent

View File

@ -34,7 +34,7 @@ class TransmissionModule(_ModuleBase):
"""
# 定时重连
if not self.transmission.is_inactive():
self.transmission = Transmission()
self.transmission.reconnect()
def download(self, content: Union[Path, str], download_dir: Path, cookie: str,
episodes: Set[int] = None, category: str = None) -> Optional[Tuple[Optional[str], str]]:

View File

@ -56,6 +56,12 @@ class Transmission(metaclass=Singleton):
return False
return True if not self.trc else False
def reconnect(self):
"""
重连
"""
self.trc = self.__login_transmission()
def get_torrents(self, ids: Union[str, list] = None, status: Union[str, list] = None,
tags: Union[str, list] = None) -> Tuple[List[Torrent], bool]:
"""