mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-07 00:16:57 +08:00
fix 按对象名称组织代码文件
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
from typing import List, Any
|
from typing import List, Any
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from typing import Any, List
|
from typing import Any, List
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from app.db import get_db
|
|||||||
from app.db.models import User
|
from app.db.models import User
|
||||||
from app.db.models.message import Message
|
from app.db.models.message import Message
|
||||||
from app.db.user_oper import get_current_active_superuser
|
from app.db.user_oper import get_current_active_superuser
|
||||||
from app.helper.serviceconfig import ServiceConfigHelper
|
from app.helper.service import ServiceConfigHelper
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.modules.wechat.WXBizMsgCrypt3 import WXBizMsgCrypt
|
from app.modules.wechat.WXBizMsgCrypt3 import WXBizMsgCrypt
|
||||||
from app.schemas.types import MessageChannel
|
from app.schemas.types import MessageChannel
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from app.core.module import ModuleManager
|
|||||||
from app.db.message_oper import MessageOper
|
from app.db.message_oper import MessageOper
|
||||||
from app.db.user_oper import UserOper
|
from app.db.user_oper import UserOper
|
||||||
from app.helper.message import MessageHelper
|
from app.helper.message import MessageHelper
|
||||||
from app.helper.serviceconfig import ServiceConfigHelper
|
from app.helper.service import ServiceConfigHelper
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.schemas import TransferInfo, TransferTorrent, ExistMediaInfo, DownloadingTorrent, CommingMessage, Notification, \
|
from app.schemas import TransferInfo, TransferTorrent, ExistMediaInfo, DownloadingTorrent, CommingMessage, Notification, \
|
||||||
WebhookEventInfo, TmdbEpisode, MediaPerson, FileItem
|
WebhookEventInfo, TmdbEpisode, MediaPerson, FileItem
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
import json
|
|
||||||
import threading
|
import threading
|
||||||
from typing import List, Union, Optional, Generator
|
from typing import List, Union, Optional, Generator
|
||||||
|
|
||||||
from app import schemas
|
from app import schemas
|
||||||
from app.chain import ChainBase
|
from app.chain import ChainBase
|
||||||
from app.db.mediaserver_oper import MediaServerOper
|
from app.db.mediaserver_oper import MediaServerOper
|
||||||
from app.helper.serviceconfig import ServiceConfigHelper
|
from app.helper.service import ServiceConfigHelper
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
|
|
||||||
lock = threading.Lock()
|
lock = threading.Lock()
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import copy
|
import copy
|
||||||
import json
|
|
||||||
import re
|
import re
|
||||||
from typing import Any, Optional, Dict, Union
|
from typing import Any, Optional, Dict, Union
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import json
|
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from app.db import DbOper
|
from app.db import DbOper
|
||||||
from app.db.models.plugindata import PluginData
|
from app.db.models.plugindata import PluginData
|
||||||
from app.utils.object import ObjectUtils
|
|
||||||
|
|
||||||
|
|
||||||
class PluginDataOper(DbOper):
|
class PluginDataOper(DbOper):
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Tuple, List
|
from typing import Tuple, List
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import json
|
|
||||||
from typing import Any, Union
|
from typing import Any, Union
|
||||||
|
|
||||||
from app.db import DbOper
|
from app.db import DbOper
|
||||||
from app.db.models.systemconfig import SystemConfig
|
from app.db.models.systemconfig import SystemConfig
|
||||||
from app.schemas.types import SystemConfigKey
|
from app.schemas.types import SystemConfigKey
|
||||||
from app.utils.object import ObjectUtils
|
|
||||||
from app.utils.singleton import Singleton
|
from app.utils.singleton import Singleton
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
import time
|
import time
|
||||||
from typing import Any, List
|
from typing import Any, List
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from fastapi import Depends, HTTPException
|
from fastapi import Depends, HTTPException
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import json
|
|
||||||
from typing import Any, Union, Dict, Optional
|
from typing import Any, Union, Dict, Optional
|
||||||
|
|
||||||
from app.db import DbOper
|
from app.db import DbOper
|
||||||
from app.db.models.userconfig import UserConfig
|
from app.db.models.userconfig import UserConfig
|
||||||
from app.schemas.types import UserConfigKey
|
from app.schemas.types import UserConfigKey
|
||||||
from app.utils.object import ObjectUtils
|
|
||||||
from app.utils.singleton import Singleton
|
from app.utils.singleton import Singleton
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from app.helper.servicebase import ServiceBaseHelper
|
from app.helper.service import ServiceBaseHelper
|
||||||
from app.schemas import DownloaderConf, ServiceInfo
|
from app.schemas import DownloaderConf, ServiceInfo
|
||||||
from app.schemas.types import SystemConfigKey, ModuleType
|
from app.schemas.types import SystemConfigKey, ModuleType
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from app.helper.servicebase import ServiceBaseHelper
|
from app.helper.service import ServiceBaseHelper
|
||||||
from app.schemas import MediaServerConf, ServiceInfo
|
from app.schemas import MediaServerConf, ServiceInfo
|
||||||
from app.schemas.types import SystemConfigKey, ModuleType
|
from app.schemas.types import SystemConfigKey, ModuleType
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from app.helper.servicebase import ServiceBaseHelper
|
from app.helper.service import ServiceBaseHelper
|
||||||
from app.schemas import NotificationConf, ServiceInfo
|
from app.schemas import NotificationConf, ServiceInfo
|
||||||
from app.schemas.types import SystemConfigKey, ModuleType
|
from app.schemas.types import SystemConfigKey, ModuleType
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,73 @@
|
|||||||
from typing import Dict, List, Optional, Type, TypeVar, Generic, Iterator
|
from typing import Dict, List, Optional, Type, TypeVar, Generic, Iterator
|
||||||
|
|
||||||
from app.core.module import ModuleManager
|
from app.core.module import ModuleManager
|
||||||
from app.helper.serviceconfig import ServiceConfigHelper
|
from app.db.systemconfig_oper import SystemConfigOper
|
||||||
from app.schemas import ServiceInfo
|
from app.schemas import DownloaderConf, MediaServerConf, NotificationConf, NotificationSwitchConf, ServiceInfo
|
||||||
from app.schemas.types import SystemConfigKey, ModuleType
|
from app.schemas.types import NotificationType, SystemConfigKey, ModuleType
|
||||||
|
|
||||||
TConf = TypeVar("TConf")
|
TConf = TypeVar("TConf")
|
||||||
|
|
||||||
|
|
||||||
|
class ServiceConfigHelper:
|
||||||
|
"""
|
||||||
|
配置帮助类,获取不同类型的服务配置
|
||||||
|
"""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_configs(config_key: SystemConfigKey, conf_type: Type) -> List:
|
||||||
|
"""
|
||||||
|
通用获取配置的方法,根据 config_key 获取相应的配置并返回指定类型的配置列表
|
||||||
|
|
||||||
|
:param config_key: 系统配置的 key
|
||||||
|
:param conf_type: 用于实例化配置对象的类类型
|
||||||
|
:return: 配置对象列表
|
||||||
|
"""
|
||||||
|
config_data = SystemConfigOper().get(config_key)
|
||||||
|
if not config_data:
|
||||||
|
return []
|
||||||
|
# 直接使用 conf_type 来实例化配置对象
|
||||||
|
return [conf_type(**conf) for conf in config_data]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_downloader_configs() -> List[DownloaderConf]:
|
||||||
|
"""
|
||||||
|
获取下载器的配置
|
||||||
|
"""
|
||||||
|
return ServiceConfigHelper.get_configs(SystemConfigKey.Downloaders, DownloaderConf)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_mediaserver_configs() -> List[MediaServerConf]:
|
||||||
|
"""
|
||||||
|
获取媒体服务器的配置
|
||||||
|
"""
|
||||||
|
return ServiceConfigHelper.get_configs(SystemConfigKey.MediaServers, MediaServerConf)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_notification_configs() -> List[NotificationConf]:
|
||||||
|
"""
|
||||||
|
获取消息通知渠道的配置
|
||||||
|
"""
|
||||||
|
return ServiceConfigHelper.get_configs(SystemConfigKey.Notifications, NotificationConf)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_notification_switches() -> List[NotificationSwitchConf]:
|
||||||
|
"""
|
||||||
|
获取消息通知场景的开关
|
||||||
|
"""
|
||||||
|
return ServiceConfigHelper.get_configs(SystemConfigKey.NotificationSwitchs, NotificationSwitchConf)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_notification_switch(mtype: NotificationType) -> Optional[str]:
|
||||||
|
"""
|
||||||
|
获取指定类型的消息通知场景的开关
|
||||||
|
"""
|
||||||
|
switchs = ServiceConfigHelper.get_notification_switches()
|
||||||
|
for switch in switchs:
|
||||||
|
if switch.type == mtype.value:
|
||||||
|
return switch.action
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
class ServiceBaseHelper(Generic[TConf]):
|
class ServiceBaseHelper(Generic[TConf]):
|
||||||
"""
|
"""
|
||||||
通用服务帮助类,抽象获取配置和服务实例的通用逻辑
|
通用服务帮助类,抽象获取配置和服务实例的通用逻辑
|
||||||
@@ -84,7 +144,7 @@ class ServiceBaseHelper(Generic[TConf]):
|
|||||||
if service_info.config and (
|
if service_info.config and (
|
||||||
type_filter is None or service_info.type == type_filter
|
type_filter is None or service_info.type == type_filter
|
||||||
) and (
|
) and (
|
||||||
name_filters_set is None or service_info.name in name_filters_set)
|
name_filters_set is None or service_info.name in name_filters_set)
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_service(self, name: str, type_filter: Optional[str] = None) -> Optional[ServiceInfo]:
|
def get_service(self, name: str, type_filter: Optional[str] = None) -> Optional[ServiceInfo]:
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
from typing import List, Type, Optional
|
|
||||||
|
|
||||||
from app.db.systemconfig_oper import SystemConfigOper
|
|
||||||
from app.schemas import DownloaderConf, MediaServerConf, NotificationConf, NotificationSwitchConf
|
|
||||||
from app.schemas.types import SystemConfigKey, NotificationType
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceConfigHelper:
|
|
||||||
"""
|
|
||||||
配置帮助类,获取不同类型的服务配置
|
|
||||||
"""
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_configs(config_key: SystemConfigKey, conf_type: Type) -> List:
|
|
||||||
"""
|
|
||||||
通用获取配置的方法,根据 config_key 获取相应的配置并返回指定类型的配置列表
|
|
||||||
|
|
||||||
:param config_key: 系统配置的 key
|
|
||||||
:param conf_type: 用于实例化配置对象的类类型
|
|
||||||
:return: 配置对象列表
|
|
||||||
"""
|
|
||||||
config_data = SystemConfigOper().get(config_key)
|
|
||||||
if not config_data:
|
|
||||||
return []
|
|
||||||
# 直接使用 conf_type 来实例化配置对象
|
|
||||||
return [conf_type(**conf) for conf in config_data]
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_downloader_configs() -> List[DownloaderConf]:
|
|
||||||
"""
|
|
||||||
获取下载器的配置
|
|
||||||
"""
|
|
||||||
return ServiceConfigHelper.get_configs(SystemConfigKey.Downloaders, DownloaderConf)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_mediaserver_configs() -> List[MediaServerConf]:
|
|
||||||
"""
|
|
||||||
获取媒体服务器的配置
|
|
||||||
"""
|
|
||||||
return ServiceConfigHelper.get_configs(SystemConfigKey.MediaServers, MediaServerConf)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_notification_configs() -> List[NotificationConf]:
|
|
||||||
"""
|
|
||||||
获取消息通知渠道的配置
|
|
||||||
"""
|
|
||||||
return ServiceConfigHelper.get_configs(SystemConfigKey.Notifications, NotificationConf)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_notification_switches() -> List[NotificationSwitchConf]:
|
|
||||||
"""
|
|
||||||
获取消息通知场景的开关
|
|
||||||
"""
|
|
||||||
return ServiceConfigHelper.get_configs(SystemConfigKey.NotificationSwitchs, NotificationSwitchConf)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get_notification_switch(mtype: NotificationType) -> Optional[str]:
|
|
||||||
"""
|
|
||||||
获取指定类型的消息通知场景的开关
|
|
||||||
"""
|
|
||||||
switchs = ServiceConfigHelper.get_notification_switches()
|
|
||||||
for switch in switchs:
|
|
||||||
if switch.type == mtype.value:
|
|
||||||
return switch.action
|
|
||||||
return None
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from abc import abstractmethod, ABCMeta
|
from abc import abstractmethod, ABCMeta
|
||||||
from typing import Generic, Tuple, Union, TypeVar, Type, Dict, Optional, Callable, Any
|
from typing import Generic, Tuple, Union, TypeVar, Type, Dict, Optional, Callable, Any
|
||||||
|
|
||||||
from app.helper.serviceconfig import ServiceConfigHelper
|
from app.helper.service import ServiceConfigHelper
|
||||||
from app.schemas import Notification, MessageChannel, NotificationConf, MediaServerConf, DownloaderConf
|
from app.schemas import Notification, MessageChannel, NotificationConf, MediaServerConf, DownloaderConf
|
||||||
from app.schemas.types import ModuleType
|
from app.schemas.types import ModuleType
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import json
|
|||||||
import re
|
import re
|
||||||
from typing import Optional, Union, List, Tuple, Any
|
from typing import Optional, Union, List, Tuple, Any
|
||||||
|
|
||||||
from app.core.config import settings
|
|
||||||
from app.core.context import MediaInfo, Context
|
from app.core.context import MediaInfo, Context
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.modules import _ModuleBase, _MessageBase
|
from app.modules import _ModuleBase, _MessageBase
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
from typing import Optional, Union, List, Tuple, Any, Dict
|
from typing import Optional, Union, List, Tuple, Any, Dict
|
||||||
|
|
||||||
from app.core.config import settings
|
|
||||||
from app.core.context import MediaInfo, Context
|
from app.core.context import MediaInfo, Context
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.modules import _ModuleBase, _MessageBase
|
from app.modules import _ModuleBase, _MessageBase
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
from typing import Optional, Union, List, Tuple, Any, Dict
|
from typing import Optional, Union, List, Tuple, Any, Dict
|
||||||
|
|
||||||
from app.core.config import settings
|
|
||||||
from app.core.context import Context, MediaInfo
|
from app.core.context import Context, MediaInfo
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.modules import _ModuleBase, _MessageBase
|
from app.modules import _ModuleBase, _MessageBase
|
||||||
|
|||||||
Reference in New Issue
Block a user