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

@@ -23,7 +23,24 @@ logger = logging.getLogger(__name__)
# Check if we're in standalone mode # Check if we're in standalone mode
STANDALONE_MODE = 'nodes' not in sys.modules STANDALONE_MODE = 'nodes' not in sys.modules
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 LoraManager: class LoraManager:
"""Main entry point for LoRA Manager plugin""" """Main entry point for LoRA Manager plugin"""

View File

@@ -15,7 +15,24 @@ from ..utils.usage_stats import UsageStats
logger = logging.getLogger(__name__) 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: class StatsRoutes:
"""Route handlers for Statistics page and API endpoints""" """Route handlers for Statistics page and API endpoints"""
@@ -68,8 +85,9 @@ class StatsRoutes:
is_initializing = lora_initializing or checkpoint_initializing or embedding_initializing is_initializing = lora_initializing or checkpoint_initializing or embedding_initializing
# 获取用户语言设置 # 获取用户语言设置
settings_manager = settings settings_object = settings
user_language = settings_manager.get('language', 'en') user_language = settings_object.get('language', 'en')
settings_manager = settings_object if not isinstance(settings_object, _SettingsProxy) else settings_object._resolve()
# 设置服务端i18n语言 # 设置服务端i18n语言
server_i18n.set_locale(user_language) server_i18n.set_locale(user_language)

View File

@@ -14,7 +14,24 @@ logger = logging.getLogger(__name__)
CURRENT_NAMING_VERSION = 2 # Increment this when naming conventions change CURRENT_NAMING_VERSION = 2 # Increment this when naming conventions change
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 ExampleImagesMigration: class ExampleImagesMigration:
"""Handles migrations for example images naming conventions""" """Handles migrations for example images naming conventions"""