mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-29 03:56:43 +08:00
refactor: route metadata module settings through runtime
This commit is contained in:
@@ -9,7 +9,9 @@ from pathlib import Path
|
||||
from typing import Any, Optional, Tuple, Union
|
||||
from uuid import UUID
|
||||
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.runtime.log import logger
|
||||
from app.modules import _ModuleBase
|
||||
from app.schemas.types import ModuleType, OtherModulesType
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
from typing import List, Optional, Tuple, Union
|
||||
|
||||
from app.schemas.context import MediaPerson as _SchemaMediaPerson
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.domain.context import MediaInfo
|
||||
from app.domain.meta.metabase import MetaBase
|
||||
from app.domain.scraper import MediaScraperHelper
|
||||
|
||||
@@ -2,7 +2,9 @@ from datetime import date
|
||||
from typing import Optional
|
||||
|
||||
from app.runtime.cache import cached
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.runtime.log import logger
|
||||
from app.adapters.network.http import AsyncRequestUtils, RequestUtils
|
||||
|
||||
|
||||
@@ -2,7 +2,9 @@ from dataclasses import dataclass
|
||||
from typing import Any, List, Optional, Tuple, Union
|
||||
|
||||
from app.schemas.context import MediaPerson as _SchemaMediaPerson
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.domain.context import MediaInfo
|
||||
from app.domain.meta.metabase import MetaBase
|
||||
from app.domain.scraper import MediaScraperHelper
|
||||
|
||||
@@ -4,7 +4,9 @@ from typing import Optional
|
||||
import requests
|
||||
|
||||
from app.runtime.cache import cached
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.adapters.network.http import RequestUtils, AsyncRequestUtils
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,9 @@ from typing import Any, List, Optional, Tuple, Union
|
||||
import cn2an
|
||||
|
||||
from app.schemas.context import MediaPerson as _SchemaMediaPerson
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.domain.context import (
|
||||
MediaInfo,
|
||||
MusicAlbumInfo,
|
||||
|
||||
@@ -13,7 +13,9 @@ import requests
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
from app.runtime.cache import cached
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.adapters.network.http import RequestUtils, AsyncRequestUtils
|
||||
from app.foundation.singleton import WeakSingleton
|
||||
|
||||
|
||||
@@ -4,7 +4,9 @@ from typing import Optional, Tuple, Union
|
||||
|
||||
from app.runtime.cache import cached
|
||||
from app.domain.context import MediaInfo
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.runtime.log import logger
|
||||
from app.modules import _ModuleBase
|
||||
from app.schemas.types import MediaType, ModuleType, OtherModulesType
|
||||
|
||||
@@ -11,7 +11,9 @@ from app.domain.meta.metabase import MetaBase
|
||||
from app.domain.scraper import MediaScraperHelper
|
||||
from app.foundation.text import convert as zhconv_convert
|
||||
from app.modules import _ModuleBase
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.runtime.log import logger
|
||||
from app.schemas.context import MediaCredit, MediaImageSet
|
||||
from app.schemas.media import normalize_media_source
|
||||
|
||||
@@ -9,7 +9,9 @@ from pydantic import BaseModel, ConfigDict, Field, ValidationError
|
||||
|
||||
from app.adapters.network.http import AsyncRequestUtils, RequestUtils
|
||||
from app.runtime.cache import cached
|
||||
from app.runtime.config import settings
|
||||
from app.runtime.settings import RuntimeSettingsCompat
|
||||
|
||||
settings = RuntimeSettingsCompat()
|
||||
from app.runtime.log import logger
|
||||
|
||||
TModel = TypeVar("TModel", bound=BaseModel)
|
||||
|
||||
@@ -1056,6 +1056,8 @@ Agent 能力适配器、记忆和提示词模块改用 `RuntimeSettingsCompat`
|
||||
配置债务由 89 个文件降至 84 个,插件、模块生命周期与线程安全专项测试通过。
|
||||
Agent 下载、任务、媒体识别、刮削和 Web 搜索工具也切换到动态运行时端口,保留原工具输入与输出 ABI;
|
||||
配置债务由 84 个文件降至 77 个,Agent 任务、搜索与识别专项测试通过。
|
||||
AcoustID、AniList、Bangumi、Douban、Fanart 和 IMDb 模块族改用动态运行时端口,模块公开类与配置热读保持;
|
||||
配置债务由 77 个文件降至 67 个,相关识别、浏览与刮削专项测试通过。
|
||||
|
||||
同日修正适配器配置下沉边界:OCR、CookieCloud、DoH、Rust 和资源签名等低层实现不再直接依赖
|
||||
`app.application`,由 `app.runtime.settings` 端口承接组合根注入;未启动装配时仍回退旧 Settings ABI,
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"root": "app"
|
||||
},
|
||||
"settings_imports": {
|
||||
"count": 77,
|
||||
"count": 67,
|
||||
"files": [
|
||||
"app/adapters/system/fsproxy.py",
|
||||
"app/cli.py",
|
||||
@@ -20,16 +20,8 @@
|
||||
"app/doctor/runner.py",
|
||||
"app/factory.py",
|
||||
"app/main.py",
|
||||
"app/modules/acoustid/__init__.py",
|
||||
"app/modules/anilist/__init__.py",
|
||||
"app/modules/anilist/anilist.py",
|
||||
"app/modules/bangumi/__init__.py",
|
||||
"app/modules/bangumi/bangumi.py",
|
||||
"app/modules/discord/discord.py",
|
||||
"app/modules/douban/__init__.py",
|
||||
"app/modules/douban/apiv2.py",
|
||||
"app/modules/emby/emby.py",
|
||||
"app/modules/fanart/__init__.py",
|
||||
"app/modules/feishu/feishu.py",
|
||||
"app/modules/filemanager/module.py",
|
||||
"app/modules/filemanager/storages/alipan.py",
|
||||
@@ -39,8 +31,6 @@
|
||||
"app/modules/filemanager/storages/smb.py",
|
||||
"app/modules/filemanager/storages/u115.py",
|
||||
"app/modules/filemanager/transhandler.py",
|
||||
"app/modules/imdb/__init__.py",
|
||||
"app/modules/imdb/api.py",
|
||||
"app/modules/indexer/parser/__init__.py",
|
||||
"app/modules/indexer/parser/rousi.py",
|
||||
"app/modules/indexer/spider/__init__.py",
|
||||
|
||||
+11
-11
@@ -14,7 +14,7 @@
|
||||
"workflow_to_db": []
|
||||
},
|
||||
"edge_count": 6421,
|
||||
"edge_sha256": "18448b750688670f90d17bc46bc5425dc481a12266b01d3e126f0da13fe12fb7",
|
||||
"edge_sha256": "a5ef71ffebe71367bde1689ab0889db037c83cea53b85ee12ad0a79aa006f231",
|
||||
"edges": [
|
||||
"app -> app.runtime",
|
||||
"app -> app.runtime.compat",
|
||||
@@ -3881,8 +3881,8 @@
|
||||
"app.modules.acoustid -> app.adapters.network.http",
|
||||
"app.modules.acoustid -> app.modules",
|
||||
"app.modules.acoustid -> app.runtime",
|
||||
"app.modules.acoustid -> app.runtime.config",
|
||||
"app.modules.acoustid -> app.runtime.log",
|
||||
"app.modules.acoustid -> app.runtime.settings",
|
||||
"app.modules.acoustid -> app.schemas",
|
||||
"app.modules.acoustid -> app.schemas.types",
|
||||
"app.modules.anilist -> app.domain",
|
||||
@@ -3894,8 +3894,8 @@
|
||||
"app.modules.anilist -> app.modules",
|
||||
"app.modules.anilist -> app.modules.anilist.anilist",
|
||||
"app.modules.anilist -> app.runtime",
|
||||
"app.modules.anilist -> app.runtime.config",
|
||||
"app.modules.anilist -> app.runtime.log",
|
||||
"app.modules.anilist -> app.runtime.settings",
|
||||
"app.modules.anilist -> app.schemas",
|
||||
"app.modules.anilist -> app.schemas.context",
|
||||
"app.modules.anilist -> app.schemas.types",
|
||||
@@ -3904,8 +3904,8 @@
|
||||
"app.modules.anilist.anilist -> app.adapters.network.http",
|
||||
"app.modules.anilist.anilist -> app.runtime",
|
||||
"app.modules.anilist.anilist -> app.runtime.cache",
|
||||
"app.modules.anilist.anilist -> app.runtime.config",
|
||||
"app.modules.anilist.anilist -> app.runtime.log",
|
||||
"app.modules.anilist.anilist -> app.runtime.settings",
|
||||
"app.modules.bangumi -> app.adapters",
|
||||
"app.modules.bangumi -> app.adapters.network",
|
||||
"app.modules.bangumi -> app.adapters.network.http",
|
||||
@@ -3918,8 +3918,8 @@
|
||||
"app.modules.bangumi -> app.modules",
|
||||
"app.modules.bangumi -> app.modules.bangumi.bangumi",
|
||||
"app.modules.bangumi -> app.runtime",
|
||||
"app.modules.bangumi -> app.runtime.config",
|
||||
"app.modules.bangumi -> app.runtime.log",
|
||||
"app.modules.bangumi -> app.runtime.settings",
|
||||
"app.modules.bangumi -> app.schemas",
|
||||
"app.modules.bangumi -> app.schemas.context",
|
||||
"app.modules.bangumi -> app.schemas.types",
|
||||
@@ -3928,7 +3928,7 @@
|
||||
"app.modules.bangumi.bangumi -> app.adapters.network.http",
|
||||
"app.modules.bangumi.bangumi -> app.runtime",
|
||||
"app.modules.bangumi.bangumi -> app.runtime.cache",
|
||||
"app.modules.bangumi.bangumi -> app.runtime.config",
|
||||
"app.modules.bangumi.bangumi -> app.runtime.settings",
|
||||
"app.modules.dingtalk -> app.domain",
|
||||
"app.modules.dingtalk -> app.domain.context",
|
||||
"app.modules.dingtalk -> app.modules",
|
||||
@@ -3986,10 +3986,10 @@
|
||||
"app.modules.douban -> app.modules.douban.apiv2",
|
||||
"app.modules.douban -> app.modules.douban.scraper",
|
||||
"app.modules.douban -> app.runtime",
|
||||
"app.modules.douban -> app.runtime.config",
|
||||
"app.modules.douban -> app.runtime.execution",
|
||||
"app.modules.douban -> app.runtime.log",
|
||||
"app.modules.douban -> app.runtime.rate",
|
||||
"app.modules.douban -> app.runtime.settings",
|
||||
"app.modules.douban -> app.schemas",
|
||||
"app.modules.douban -> app.schemas.context",
|
||||
"app.modules.douban -> app.schemas.exception",
|
||||
@@ -4001,7 +4001,7 @@
|
||||
"app.modules.douban.apiv2 -> app.foundation.singleton",
|
||||
"app.modules.douban.apiv2 -> app.runtime",
|
||||
"app.modules.douban.apiv2 -> app.runtime.cache",
|
||||
"app.modules.douban.apiv2 -> app.runtime.config",
|
||||
"app.modules.douban.apiv2 -> app.runtime.settings",
|
||||
"app.modules.douban.scraper -> app.domain",
|
||||
"app.modules.douban.scraper -> app.domain.context",
|
||||
"app.modules.douban.scraper -> app.foundation",
|
||||
@@ -4039,8 +4039,8 @@
|
||||
"app.modules.fanart -> app.modules",
|
||||
"app.modules.fanart -> app.runtime",
|
||||
"app.modules.fanart -> app.runtime.cache",
|
||||
"app.modules.fanart -> app.runtime.config",
|
||||
"app.modules.fanart -> app.runtime.log",
|
||||
"app.modules.fanart -> app.runtime.settings",
|
||||
"app.modules.fanart -> app.schemas",
|
||||
"app.modules.fanart -> app.schemas.types",
|
||||
"app.modules.feishu -> app.application",
|
||||
@@ -4273,8 +4273,8 @@
|
||||
"app.modules.imdb -> app.modules",
|
||||
"app.modules.imdb -> app.modules.imdb.api",
|
||||
"app.modules.imdb -> app.runtime",
|
||||
"app.modules.imdb -> app.runtime.config",
|
||||
"app.modules.imdb -> app.runtime.log",
|
||||
"app.modules.imdb -> app.runtime.settings",
|
||||
"app.modules.imdb -> app.schemas",
|
||||
"app.modules.imdb -> app.schemas.context",
|
||||
"app.modules.imdb -> app.schemas.media",
|
||||
@@ -4284,8 +4284,8 @@
|
||||
"app.modules.imdb.api -> app.adapters.network.http",
|
||||
"app.modules.imdb.api -> app.runtime",
|
||||
"app.modules.imdb.api -> app.runtime.cache",
|
||||
"app.modules.imdb.api -> app.runtime.config",
|
||||
"app.modules.imdb.api -> app.runtime.log",
|
||||
"app.modules.imdb.api -> app.runtime.settings",
|
||||
"app.modules.indexer -> app.application",
|
||||
"app.modules.indexer -> app.application.site",
|
||||
"app.modules.indexer -> app.application.site.health",
|
||||
|
||||
Reference in New Issue
Block a user