refactor(config): retire RuntimeSettingsCompat host usage

This commit is contained in:
jxxghp
2026-08-26 15:55:21 +08:00
parent cdab54254d
commit 9dbe424c3d
162 changed files with 1966 additions and 1745 deletions
+6 -8
View File
@@ -12,10 +12,8 @@ from app.domain.scraper import MediaScraperHelper
from app.foundation.text import convert as zhconv_convert
from app.modules import _ModuleBase
from app.modules._base.media_auxiliary import MediaAuxiliaryProviderMixin
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.runtime.log import logger
from app.runtime.settings import get_runtime_setting
from app.schemas.context import MediaCredit, MediaImageSet
from app.schemas.media import normalize_media_source
from app.schemas.types import (
@@ -59,7 +57,7 @@ class ImdbModule(MediaAuxiliaryProviderMixin, _ModuleBase):
def init_module(self) -> None:
"""按当前代理配置初始化 IMDb 客户端和通用刮削器。"""
self._config = ImdbConfigSnapshot(proxy=settings.PROXY)
self._config = ImdbConfigSnapshot(proxy=get_runtime_setting('PROXY'))
self.imdb_api = ImdbApi(proxies=self._config.proxy)
self.scraper = MediaScraperHelper()
@@ -517,7 +515,7 @@ class ImdbModule(MediaAuxiliaryProviderMixin, _ModuleBase):
if requested_source not in {None, MediaSource.IMDb}:
return None
selected_source = requested_source or normalize_media_source(
settings.RECOGNIZE_SOURCE
get_runtime_setting('RECOGNIZE_SOURCE')
)
if selected_source != MediaSource.IMDb or not meta or not meta.name:
return None
@@ -560,7 +558,7 @@ class ImdbModule(MediaAuxiliaryProviderMixin, _ModuleBase):
if requested_source not in {None, MediaSource.IMDb}:
return None
selected_source = requested_source or normalize_media_source(
settings.RECOGNIZE_SOURCE
get_runtime_setting('RECOGNIZE_SOURCE')
)
if selected_source != MediaSource.IMDb or not meta or not meta.name:
return None
@@ -657,7 +655,7 @@ class ImdbModule(MediaAuxiliaryProviderMixin, _ModuleBase):
) -> Optional[str]:
"""生成 IMDb 来源的 NFO 元数据文本。"""
del kwargs
if (mediainfo.scrape_source or settings.SCRAP_SOURCE) != MediaSource.IMDb.value:
if (mediainfo.scrape_source or get_runtime_setting('SCRAP_SOURCE')) != MediaSource.IMDb.value:
return None
if not self.scraper:
return None
@@ -672,7 +670,7 @@ class ImdbModule(MediaAuxiliaryProviderMixin, _ModuleBase):
episode: Optional[int] = None,
) -> Optional[dict]:
"""生成 IMDb 来源的图片文件名与下载地址映射。"""
if (mediainfo.scrape_source or settings.SCRAP_SOURCE) != MediaSource.IMDb.value:
if (mediainfo.scrape_source or get_runtime_setting('SCRAP_SOURCE')) != MediaSource.IMDb.value:
return None
if not self.scraper:
return None
+11 -13
View File
@@ -9,11 +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.settings import RuntimeSettingsCompat
from app.runtime.tasks import get_task_registry
settings = RuntimeSettingsCompat()
from app.runtime.log import logger
from app.runtime.settings import get_runtime_setting
from app.runtime.tasks import get_task_registry
TModel = TypeVar("TModel", bound=BaseModel)
@@ -227,7 +225,7 @@ class ImdbApi:
def __init__(self, proxies: Optional[dict] = None) -> None:
"""按一次模块配置快照创建网络请求适配器。"""
headers = {
"User-Agent": settings.NORMAL_USER_AGENT,
"User-Agent": get_runtime_setting('NORMAL_USER_AGENT'),
"Accept": "application/graphql+json, application/json",
"Content-Type": "application/json",
"x-imdb-client-name": "imdb-web-next-localized",
@@ -262,8 +260,8 @@ class ImdbApi:
return cls._freeze_value(params or {})
@cached(
maxsize=settings.CONF.imdb,
ttl=settings.CONF.meta,
maxsize=get_runtime_setting('CONF').imdb,
ttl=get_runtime_setting('CONF').meta,
skip_none=True,
shared_key="imdb_get",
)
@@ -274,8 +272,8 @@ class ImdbApi:
return self._request.get_json(url, params=dict(params_key))
@cached(
maxsize=settings.CONF.imdb,
ttl=settings.CONF.meta,
maxsize=get_runtime_setting('CONF').imdb,
ttl=get_runtime_setting('CONF').meta,
skip_none=True,
shared_key="imdb_get",
)
@@ -286,8 +284,8 @@ class ImdbApi:
return await self._async_request.get_json(url, params=dict(params_key))
@cached(
maxsize=settings.CONF.imdb,
ttl=settings.CONF.meta,
maxsize=get_runtime_setting('CONF').imdb,
ttl=get_runtime_setting('CONF').meta,
skip_none=True,
shared_key="imdb_graphql",
skip_if=_is_graphql_error,
@@ -302,8 +300,8 @@ class ImdbApi:
)
@cached(
maxsize=settings.CONF.imdb,
ttl=settings.CONF.meta,
maxsize=get_runtime_setting('CONF').imdb,
ttl=get_runtime_setting('CONF').meta,
skip_none=True,
shared_key="imdb_graphql",
skip_if=_is_graphql_error,