mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
refactor: reorganize backend module boundaries
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from app.agent.orchestrator import agent_manager
|
||||
from app.platform.config import settings
|
||||
from app.platform.log import logger
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.log import logger
|
||||
|
||||
|
||||
class AgentInitializer:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from app.infrastructure.cache import configure_platform_cache
|
||||
from app.adapters.cache.backends import configure_platform_cache
|
||||
|
||||
|
||||
def configure_cache_dependencies() -> None:
|
||||
|
||||
@@ -5,9 +5,9 @@ from app.domain.meta.releasegroup import configure_release_groups_provider
|
||||
from app.domain.meta.runtime import configure_recognition_runtime
|
||||
from app.domain.meta.words import configure_custom_words_provider
|
||||
from app.domain.metainfo import clear_rust_parse_options_cache
|
||||
from app.infrastructure import rust as rust_accelerator
|
||||
from app.platform.config import settings
|
||||
from app.services.recognition import RecognitionRuleService
|
||||
from app.adapters.system import rust as rust_accelerator
|
||||
from app.runtime.config import settings
|
||||
from app.application.recognition import RecognitionRuleService
|
||||
|
||||
|
||||
def configure_domain_dependencies() -> None:
|
||||
|
||||
@@ -22,10 +22,10 @@ except Exception:
|
||||
pass
|
||||
|
||||
from app.chain.system import SystemChain
|
||||
from app.platform.config import global_vars, settings
|
||||
from app.integrations.server import MoviePilotServerHelper
|
||||
from app.platform.runtime import SystemHelper
|
||||
from app.platform.log import logger, LoggerManager
|
||||
from app.runtime.config import global_vars, settings
|
||||
from app.adapters.external.server import MoviePilotServerHelper
|
||||
from app.runtime.state import SystemHelper
|
||||
from app.runtime.log import logger, LoggerManager
|
||||
from app.startup.command_initializer import init_command, stop_command, restart_command
|
||||
from app.startup.domain_initializer import configure_domain_dependencies
|
||||
from app.startup.modules_initializer import init_modules, stop_modules
|
||||
@@ -39,7 +39,7 @@ from app.startup.scheduler_initializer import (
|
||||
)
|
||||
from app.startup.transfer_initializer import replay_pending_transfers
|
||||
from app.startup.workflow_initializer import init_workflow, stop_workflow
|
||||
from app.foundation.http import (
|
||||
from app.adapters.network.http import (
|
||||
aclose_shared_async_transports,
|
||||
configure_default_user_agent,
|
||||
)
|
||||
|
||||
@@ -2,40 +2,43 @@ import inspect
|
||||
import sys
|
||||
from typing import Callable
|
||||
|
||||
from app.infrastructure.redis import RedisHelper, AsyncRedisHelper
|
||||
from app.adapters.cache.redis import RedisHelper, AsyncRedisHelper
|
||||
from app.chain.mediaserver import MediaServerChain
|
||||
from app.chain.tmdb import TmdbChain
|
||||
|
||||
# SitesHelper涉及资源包拉取,提前引入并容错提示
|
||||
try:
|
||||
from app.infrastructure.sites import SitesHelper # noqa
|
||||
from app.application.site.sites import SitesHelper # noqa
|
||||
except ImportError as e:
|
||||
SitesHelper = None
|
||||
error_message = f"错误: {str(e)}\n站点认证及索引相关资源导入失败,请尝试重建容器或手动拉取资源"
|
||||
print(error_message, file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
from app.infrastructure.system import SystemUtils
|
||||
from app.platform.log import logger
|
||||
from app.platform.config import settings
|
||||
from app.extensions.module_manager import ModuleManager
|
||||
from app.platform.events import EventManager
|
||||
from app.platform.runtime import SystemHelper
|
||||
from app.platform.thread import ThreadHelper
|
||||
from app.infrastructure.display import DisplayHelper
|
||||
from app.infrastructure.doh import DohHelper
|
||||
from app.infrastructure.resource import ResourceHelper
|
||||
from app.messaging.message import MessageHelper, stop_message
|
||||
from app.integrations.server import MoviePilotServerHelper
|
||||
from app.adapters.system.host import SystemUtils
|
||||
from app.runtime.log import logger
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.extensions.module_manager import ModuleManager
|
||||
from app.runtime.events import EventManager
|
||||
from app.runtime.state import SystemHelper
|
||||
from app.runtime.thread import ThreadHelper
|
||||
from app.adapters.system.display import DisplayHelper
|
||||
from app.adapters.network.doh import DohHelper
|
||||
from app.adapters.system.resource import (
|
||||
ResourceHelper,
|
||||
configure_resource_version_provider,
|
||||
)
|
||||
from app.application.messaging.message import MessageHelper, stop_message
|
||||
from app.adapters.external.server import MoviePilotServerHelper
|
||||
from app.db import close_database
|
||||
from app.db.systemconfig_oper import SystemConfigOper
|
||||
from app.command import CommandChain
|
||||
from app.schemas import Notification, NotificationType
|
||||
from app.schemas.types import SystemConfigKey
|
||||
from app.startup.agent_initializer import init_agent, stop_agent
|
||||
from app.security.access import set_superuser_token_payload_provider
|
||||
from app.security.auth import build_superuser_token_payload
|
||||
from app.services.image import configure_wallpaper_providers
|
||||
from app.application.security.access import set_superuser_token_payload_provider
|
||||
from app.application.security.auth import build_superuser_token_payload
|
||||
from app.application.image import configure_wallpaper_providers
|
||||
|
||||
|
||||
def configure_wallpaper_services() -> None:
|
||||
@@ -156,6 +159,10 @@ def check_auth():
|
||||
|
||||
def update_resources() -> None:
|
||||
"""安装可用资源更新,并由组合根统一决定是否重启进程。"""
|
||||
sites_helper = SitesHelper()
|
||||
configure_resource_version_provider(
|
||||
lambda: (sites_helper.auth_version, sites_helper.indexer_version)
|
||||
)
|
||||
if ResourceHelper().check() is not True:
|
||||
return
|
||||
restarted, message = SystemHelper.restart()
|
||||
|
||||
@@ -1,24 +1,27 @@
|
||||
from app.compat.diagnostics import (
|
||||
from app.runtime.compat.diagnostics import (
|
||||
configure_legacy_import_diagnostics,
|
||||
scan_plugin_legacy_imports,
|
||||
)
|
||||
from app.platform.config import global_vars
|
||||
from app.extensions.plugin_manager import (
|
||||
from app.runtime.config import global_vars
|
||||
from app.runtime.extensions.plugin_manager import (
|
||||
PluginManager,
|
||||
configure_plugin_install_reporter,
|
||||
configure_plugin_legacy_import_services,
|
||||
configure_site_auth_level_provider,
|
||||
)
|
||||
from app.integrations.server import MoviePilotServerHelper
|
||||
from app.platform.log import logger
|
||||
from app.application.site.sites import SitesHelper # pylint: disable=no-name-in-module
|
||||
from app.adapters.external.server import MoviePilotServerHelper
|
||||
from app.runtime.log import logger
|
||||
|
||||
|
||||
def _configure_plugin_services() -> None:
|
||||
"""把兼容诊断和远程上报能力装配到插件管理器。"""
|
||||
"""把兼容诊断、远程上报和站点认证等级装配到插件管理器。"""
|
||||
configure_plugin_legacy_import_services(
|
||||
diagnostics_configurator=configure_legacy_import_diagnostics,
|
||||
import_scanner=scan_plugin_legacy_imports,
|
||||
)
|
||||
configure_plugin_install_reporter(MoviePilotServerHelper.install_plugin_reg)
|
||||
configure_site_auth_level_provider(lambda: SitesHelper().auth_level)
|
||||
|
||||
|
||||
async def sync_plugins() -> bool:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from fastapi import FastAPI
|
||||
|
||||
from app.platform.config import settings
|
||||
from app.runtime.config import settings
|
||||
|
||||
|
||||
def init_routers(app: FastAPI):
|
||||
|
||||
Reference in New Issue
Block a user