refactor: route storage module settings through runtime

This commit is contained in:
jxxghp
2026-08-23 03:12:51 +08:00
parent ac32adc7b6
commit dd6405389c
10 changed files with 37 additions and 20 deletions
+3 -1
View File
@@ -1,7 +1,9 @@
from pathlib import Path from pathlib import Path
from typing import Any, Optional, List, Tuple, Union, Dict, Callable from typing import Any, Optional, List, Tuple, Union, Dict, Callable
from app.runtime.config import settings from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.domain.context import MediaInfo, MusicInfo from app.domain.context import MediaInfo, MusicInfo
from app.domain.meta.metabase import MetaBase from app.domain.meta.metabase import MetaBase
from app.domain.meta.metamusic import MetaMusic from app.domain.meta.metamusic import MetaMusic
+4 -1
View File
@@ -10,7 +10,10 @@ import requests
from app.schemas.file import StorageUsage as _SchemaStorageUsage from app.schemas.file import StorageUsage as _SchemaStorageUsage
from app.schemas.workflow import FileItem as _SchemaFileItem from app.schemas.workflow import FileItem as _SchemaFileItem
from app.runtime.config import settings, global_vars from app.runtime.settings import RuntimeSettingsCompat
from app.runtime.config import global_vars
settings = RuntimeSettingsCompat()
from app.runtime.log import logger from app.runtime.log import logger
from app.modules.filemanager import StorageBase from app.modules.filemanager import StorageBase
from app.modules.filemanager.storages import transfer_process from app.modules.filemanager.storages import transfer_process
+4 -1
View File
@@ -8,7 +8,10 @@ from typing import Optional, List
from app.schemas.file import StorageUsage as _SchemaStorageUsage from app.schemas.file import StorageUsage as _SchemaStorageUsage
from app.schemas.workflow import FileItem as _SchemaFileItem from app.schemas.workflow import FileItem as _SchemaFileItem
from app.runtime.cache import cached from app.runtime.cache import cached
from app.runtime.config import settings, global_vars from app.runtime.settings import RuntimeSettingsCompat
from app.runtime.config import global_vars
settings = RuntimeSettingsCompat()
from app.runtime.log import logger from app.runtime.log import logger
from app.modules.filemanager.storages import StorageBase, transfer_process from app.modules.filemanager.storages import StorageBase, transfer_process
from app.schemas.exception import OperationInterrupted, StorageQueryError from app.schemas.exception import OperationInterrupted, StorageQueryError
+3 -1
View File
@@ -8,7 +8,9 @@ from typing import Optional, List, Union
from app.schemas.file import StorageUsage as _SchemaStorageUsage from app.schemas.file import StorageUsage as _SchemaStorageUsage
from app.schemas.workflow import FileItem as _SchemaFileItem from app.schemas.workflow import FileItem as _SchemaFileItem
from app.runtime.config import settings from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.runtime.log import logger from app.runtime.log import logger
from app.modules.filemanager.storages import StorageBase, transfer_process from app.modules.filemanager.storages import StorageBase, transfer_process
from app.schemas.exception import StorageQueryError from app.schemas.exception import StorageQueryError
+4 -1
View File
@@ -14,7 +14,10 @@ from smbprotocol.exceptions import (
from app.schemas.file import StorageUsage as _SchemaStorageUsage from app.schemas.file import StorageUsage as _SchemaStorageUsage
from app.schemas.workflow import FileItem as _SchemaFileItem from app.schemas.workflow import FileItem as _SchemaFileItem
from app.runtime.config import settings, global_vars from app.runtime.settings import RuntimeSettingsCompat
from app.runtime.config import global_vars
settings = RuntimeSettingsCompat()
from app.runtime.log import logger from app.runtime.log import logger
from app.modules.filemanager import StorageBase from app.modules.filemanager import StorageBase
from app.modules.filemanager.storages import transfer_process from app.modules.filemanager.storages import transfer_process
+4 -1
View File
@@ -14,7 +14,10 @@ from cryptography.hazmat.primitives import hashes
from app.schemas.file import StorageUsage as _SchemaStorageUsage from app.schemas.file import StorageUsage as _SchemaStorageUsage
from app.schemas.workflow import FileItem as _SchemaFileItem from app.schemas.workflow import FileItem as _SchemaFileItem
from app.runtime.config import settings, global_vars from app.runtime.settings import RuntimeSettingsCompat
from app.runtime.config import global_vars
settings = RuntimeSettingsCompat()
from app.runtime.log import logger from app.runtime.log import logger
from app.modules.filemanager import StorageBase from app.modules.filemanager import StorageBase
from app.modules.filemanager.storages import transfer_process from app.modules.filemanager.storages import transfer_process
+3 -1
View File
@@ -4,7 +4,9 @@ from typing import Optional, List, Tuple
from jinja2 import Template from jinja2 import Template
from app.runtime.config import settings from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.domain.context import MediaInfo, MusicInfo from app.domain.context import MediaInfo, MusicInfo
from app.runtime.events import eventmanager from app.runtime.events import eventmanager
from app.domain.meta.metabase import MetaBase from app.domain.meta.metabase import MetaBase
@@ -1062,6 +1062,8 @@ MusicBrainz、ListenBrainz、LrcLib 与 TheAudioDB 模块族也完成同样迁
音乐元数据专项测试通过。 音乐元数据专项测试通过。
Emby、Jellyfin、Feishu、Discord 与 Slack 模块切换到动态运行时配置,模块测试与消息生命周期 ABI 保持; Emby、Jellyfin、Feishu、Discord 与 Slack 模块切换到动态运行时配置,模块测试与消息生命周期 ABI 保持;
配置债务由 62 个文件降至 57 个,媒体服务器和消息模块专项测试通过。 配置债务由 62 个文件降至 57 个,媒体服务器和消息模块专项测试通过。
文件管理器及 Alist、Rclone、U115、SMB、Alipan 存储实现切换到动态运行时配置,保留模块级 global_vars 与
存储公开方法;配置债务由 57 个文件降至 50 个,文件管理与存储专项测试通过。
同日修正适配器配置下沉边界:OCR、CookieCloud、DoH、Rust 和资源签名等低层实现不再直接依赖 同日修正适配器配置下沉边界:OCR、CookieCloud、DoH、Rust 和资源签名等低层实现不再直接依赖
`app.application`,由 `app.runtime.settings` 端口承接组合根注入;未启动装配时仍回退旧 Settings ABI `app.application`,由 `app.runtime.settings` 端口承接组合根注入;未启动装配时仍回退旧 Settings ABI
@@ -9,7 +9,7 @@
"root": "app" "root": "app"
}, },
"settings_imports": { "settings_imports": {
"count": 57, "count": 50,
"files": [ "files": [
"app/adapters/system/fsproxy.py", "app/adapters/system/fsproxy.py",
"app/cli.py", "app/cli.py",
@@ -20,14 +20,7 @@
"app/doctor/runner.py", "app/doctor/runner.py",
"app/factory.py", "app/factory.py",
"app/main.py", "app/main.py",
"app/modules/filemanager/module.py",
"app/modules/filemanager/storages/alipan.py",
"app/modules/filemanager/storages/alist.py",
"app/modules/filemanager/storages/local.py", "app/modules/filemanager/storages/local.py",
"app/modules/filemanager/storages/rclone.py",
"app/modules/filemanager/storages/smb.py",
"app/modules/filemanager/storages/u115.py",
"app/modules/filemanager/transhandler.py",
"app/modules/indexer/parser/__init__.py", "app/modules/indexer/parser/__init__.py",
"app/modules/indexer/parser/rousi.py", "app/modules/indexer/parser/rousi.py",
"app/modules/indexer/spider/__init__.py", "app/modules/indexer/spider/__init__.py",
+9 -5
View File
@@ -13,8 +13,8 @@
"runtime_to_db": [], "runtime_to_db": [],
"workflow_to_db": [] "workflow_to_db": []
}, },
"edge_count": 6421, "edge_count": 6425,
"edge_sha256": "2282230a3d14a429841f4f5a98da557808eb44c54e0b8bc2653a429fbd5f47de", "edge_sha256": "6cd4675c9165f8837860621c2f6c66574dc17e57d6b0b0421145e14b880e2257",
"edges": [ "edges": [
"app -> app.runtime", "app -> app.runtime",
"app -> app.runtime.compat", "app -> app.runtime.compat",
@@ -4094,8 +4094,8 @@
"app.modules.filemanager.module -> app.modules.filemanager.storages", "app.modules.filemanager.module -> app.modules.filemanager.storages",
"app.modules.filemanager.module -> app.modules.filemanager.transhandler", "app.modules.filemanager.module -> app.modules.filemanager.transhandler",
"app.modules.filemanager.module -> app.runtime", "app.modules.filemanager.module -> app.runtime",
"app.modules.filemanager.module -> app.runtime.config",
"app.modules.filemanager.module -> app.runtime.log", "app.modules.filemanager.module -> app.runtime.log",
"app.modules.filemanager.module -> app.runtime.settings",
"app.modules.filemanager.module -> app.schemas", "app.modules.filemanager.module -> app.schemas",
"app.modules.filemanager.module -> app.schemas.file", "app.modules.filemanager.module -> app.schemas.file",
"app.modules.filemanager.module -> app.schemas.mediaserver", "app.modules.filemanager.module -> app.schemas.mediaserver",
@@ -4128,6 +4128,7 @@
"app.modules.filemanager.storages.alipan -> app.runtime", "app.modules.filemanager.storages.alipan -> app.runtime",
"app.modules.filemanager.storages.alipan -> app.runtime.config", "app.modules.filemanager.storages.alipan -> app.runtime.config",
"app.modules.filemanager.storages.alipan -> app.runtime.log", "app.modules.filemanager.storages.alipan -> app.runtime.log",
"app.modules.filemanager.storages.alipan -> app.runtime.settings",
"app.modules.filemanager.storages.alipan -> app.schemas", "app.modules.filemanager.storages.alipan -> app.schemas",
"app.modules.filemanager.storages.alipan -> app.schemas.exception", "app.modules.filemanager.storages.alipan -> app.schemas.exception",
"app.modules.filemanager.storages.alipan -> app.schemas.file", "app.modules.filemanager.storages.alipan -> app.schemas.file",
@@ -4146,6 +4147,7 @@
"app.modules.filemanager.storages.alist -> app.runtime.cache", "app.modules.filemanager.storages.alist -> app.runtime.cache",
"app.modules.filemanager.storages.alist -> app.runtime.config", "app.modules.filemanager.storages.alist -> app.runtime.config",
"app.modules.filemanager.storages.alist -> app.runtime.log", "app.modules.filemanager.storages.alist -> app.runtime.log",
"app.modules.filemanager.storages.alist -> app.runtime.settings",
"app.modules.filemanager.storages.alist -> app.schemas", "app.modules.filemanager.storages.alist -> app.schemas",
"app.modules.filemanager.storages.alist -> app.schemas.exception", "app.modules.filemanager.storages.alist -> app.schemas.exception",
"app.modules.filemanager.storages.alist -> app.schemas.file", "app.modules.filemanager.storages.alist -> app.schemas.file",
@@ -4183,8 +4185,8 @@
"app.modules.filemanager.storages.rclone -> app.modules.filemanager", "app.modules.filemanager.storages.rclone -> app.modules.filemanager",
"app.modules.filemanager.storages.rclone -> app.modules.filemanager.storages", "app.modules.filemanager.storages.rclone -> app.modules.filemanager.storages",
"app.modules.filemanager.storages.rclone -> app.runtime", "app.modules.filemanager.storages.rclone -> app.runtime",
"app.modules.filemanager.storages.rclone -> app.runtime.config",
"app.modules.filemanager.storages.rclone -> app.runtime.log", "app.modules.filemanager.storages.rclone -> app.runtime.log",
"app.modules.filemanager.storages.rclone -> app.runtime.settings",
"app.modules.filemanager.storages.rclone -> app.schemas", "app.modules.filemanager.storages.rclone -> app.schemas",
"app.modules.filemanager.storages.rclone -> app.schemas.exception", "app.modules.filemanager.storages.rclone -> app.schemas.exception",
"app.modules.filemanager.storages.rclone -> app.schemas.file", "app.modules.filemanager.storages.rclone -> app.schemas.file",
@@ -4198,6 +4200,7 @@
"app.modules.filemanager.storages.smb -> app.runtime", "app.modules.filemanager.storages.smb -> app.runtime",
"app.modules.filemanager.storages.smb -> app.runtime.config", "app.modules.filemanager.storages.smb -> app.runtime.config",
"app.modules.filemanager.storages.smb -> app.runtime.log", "app.modules.filemanager.storages.smb -> app.runtime.log",
"app.modules.filemanager.storages.smb -> app.runtime.settings",
"app.modules.filemanager.storages.smb -> app.schemas", "app.modules.filemanager.storages.smb -> app.schemas",
"app.modules.filemanager.storages.smb -> app.schemas.exception", "app.modules.filemanager.storages.smb -> app.schemas.exception",
"app.modules.filemanager.storages.smb -> app.schemas.file", "app.modules.filemanager.storages.smb -> app.schemas.file",
@@ -4213,6 +4216,7 @@
"app.modules.filemanager.storages.u115 -> app.runtime.config", "app.modules.filemanager.storages.u115 -> app.runtime.config",
"app.modules.filemanager.storages.u115 -> app.runtime.log", "app.modules.filemanager.storages.u115 -> app.runtime.log",
"app.modules.filemanager.storages.u115 -> app.runtime.rate", "app.modules.filemanager.storages.u115 -> app.runtime.rate",
"app.modules.filemanager.storages.u115 -> app.runtime.settings",
"app.modules.filemanager.storages.u115 -> app.schemas", "app.modules.filemanager.storages.u115 -> app.schemas",
"app.modules.filemanager.storages.u115 -> app.schemas.exception", "app.modules.filemanager.storages.u115 -> app.schemas.exception",
"app.modules.filemanager.storages.u115 -> app.schemas.file", "app.modules.filemanager.storages.u115 -> app.schemas.file",
@@ -4236,9 +4240,9 @@
"app.modules.filemanager.transhandler -> app.modules.filemanager", "app.modules.filemanager.transhandler -> app.modules.filemanager",
"app.modules.filemanager.transhandler -> app.modules.filemanager.storages", "app.modules.filemanager.transhandler -> app.modules.filemanager.storages",
"app.modules.filemanager.transhandler -> app.runtime", "app.modules.filemanager.transhandler -> app.runtime",
"app.modules.filemanager.transhandler -> app.runtime.config",
"app.modules.filemanager.transhandler -> app.runtime.events", "app.modules.filemanager.transhandler -> app.runtime.events",
"app.modules.filemanager.transhandler -> app.runtime.log", "app.modules.filemanager.transhandler -> app.runtime.log",
"app.modules.filemanager.transhandler -> app.runtime.settings",
"app.modules.filemanager.transhandler -> app.schemas", "app.modules.filemanager.transhandler -> app.schemas",
"app.modules.filemanager.transhandler -> app.schemas.event", "app.modules.filemanager.transhandler -> app.schemas.event",
"app.modules.filemanager.transhandler -> app.schemas.exception", "app.modules.filemanager.transhandler -> app.schemas.exception",