fix(settings): lazily resolve module aliases

This commit is contained in:
pixelpaws
2025-10-08 10:10:23 +08:00
parent 0ad92d00b3
commit 0c023c9888
3 changed files with 57 additions and 5 deletions

View File

@@ -15,7 +15,24 @@ from ..utils.usage_stats import UsageStats
logger = logging.getLogger(__name__)
settings = get_settings_manager()
class _SettingsProxy:
def __init__(self):
self._manager = None
def _resolve(self):
if self._manager is None:
self._manager = get_settings_manager()
return self._manager
def get(self, *args, **kwargs):
return self._resolve().get(*args, **kwargs)
def __getattr__(self, item):
return getattr(self._resolve(), item)
settings = _SettingsProxy()
class StatsRoutes:
"""Route handlers for Statistics page and API endpoints"""
@@ -68,8 +85,9 @@ class StatsRoutes:
is_initializing = lora_initializing or checkpoint_initializing or embedding_initializing
# 获取用户语言设置
settings_manager = settings
user_language = settings_manager.get('language', 'en')
settings_object = settings
user_language = settings_object.get('language', 'en')
settings_manager = settings_object if not isinstance(settings_object, _SettingsProxy) else settings_object._resolve()
# 设置服务端i18n语言
server_i18n.set_locale(user_language)