Merge pull request #2780 from InfinityPacer/feature/module

This commit is contained in:
jxxghp
2024-09-27 10:19:28 +08:00
committed by GitHub
19 changed files with 378 additions and 384 deletions

View File

@@ -10,15 +10,14 @@ from ruamel.yaml import CommentedMap
from transmission_rpc import File
from app.core.config import settings
from app.core.context import Context
from app.core.context import MediaInfo, TorrentInfo
from app.core.context import Context, MediaInfo, TorrentInfo
from app.core.event import EventManager
from app.core.meta import MetaBase
from app.core.module import ModuleManager
from app.db.message_oper import MessageOper
from app.db.user_oper import UserOper
from app.helper.message import MessageHelper
from app.helper.notification import NotificationHelper
from app.helper.serviceconfig import ServiceConfigHelper
from app.log import logger
from app.schemas import TransferInfo, TransferTorrent, ExistMediaInfo, DownloadingTorrent, CommingMessage, Notification, \
WebhookEventInfo, TmdbEpisode, MediaPerson, FileItem
@@ -39,7 +38,6 @@ class ChainBase(metaclass=ABCMeta):
self.eventmanager = EventManager()
self.messageoper = MessageOper()
self.messagehelper = MessageHelper()
self.notificationhelper = NotificationHelper()
self.useroper = UserOper()
@staticmethod
@@ -484,7 +482,7 @@ class ChainBase(metaclass=ABCMeta):
# 没有指定用户ID时按规则确定发送对象
# 默认发送全体
to_targets = None
notify_action = self.notificationhelper.get_switch(message.mtype)
notify_action = ServiceConfigHelper.get_notification_switch(message.mtype)
if notify_action == "admin":
# 仅发送管理员
logger.info(f"已设置 {message.mtype} 的消息只发送给管理员")

View File

@@ -5,7 +5,7 @@ from typing import List, Union, Optional
from app import schemas
from app.chain import ChainBase
from app.db.mediaserver_oper import MediaServerOper
from app.helper.mediaserver import MediaServerHelper
from app.helper.serviceconfig import ServiceConfigHelper
from app.log import logger
lock = threading.Lock()
@@ -19,7 +19,6 @@ class MediaServerChain(ChainBase):
def __init__(self):
super().__init__()
self.dboper = MediaServerOper()
self.mediaserverhelper = MediaServerHelper()
def librarys(self, server: str, username: str = None, hidden: bool = False) -> List[schemas.MediaServerLibrary]:
"""
@@ -27,12 +26,14 @@ class MediaServerChain(ChainBase):
"""
return self.run_module("mediaserver_librarys", server=server, username=username, hidden=hidden)
def items(self, server: str, library_id: Union[str, int], start_index: int = 0, limit: int = 100) -> List[schemas.MediaServerItem]:
def items(self, server: str, library_id: Union[str, int], start_index: int = 0, limit: int = 100) \
-> List[schemas.MediaServerItem]:
"""
获取媒体服务器所有项目
"""
data = []
data_generator = self.run_module("mediaserver_items", server=server, library_id=library_id, start_index=start_index, limit=limit)
data_generator = self.run_module("mediaserver_items", server=server, library_id=library_id,
start_index=start_index, limit=limit)
if data_generator:
for item in data_generator:
if item:
@@ -74,7 +75,7 @@ class MediaServerChain(ChainBase):
同步媒体库所有数据到本地数据库
"""
# 设置的媒体服务器
mediaservers = self.mediaserverhelper.get_mediaservers()
mediaservers = ServiceConfigHelper.get_mediaserver_configs()
if not mediaservers:
return
with lock: