diff --git a/py/services/settings_manager.py b/py/services/settings_manager.py index 79fb50e1..0f323e73 100644 --- a/py/services/settings_manager.py +++ b/py/services/settings_manager.py @@ -9,6 +9,7 @@ class SettingsManager: def __init__(self): self.settings_file = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'settings.json') self.settings = self._load_settings() + self._check_environment_variables() def _load_settings(self) -> Dict[str, Any]: """Load settings from file""" @@ -20,6 +21,19 @@ class SettingsManager: logger.error(f"Error loading settings: {e}") return self._get_default_settings() + def _check_environment_variables(self) -> None: + """Check for environment variables and update settings if needed""" + env_api_key = os.environ.get('CIVITAI_API_KEY') + if env_api_key: # Check if the environment variable exists and is not empty + logger.info("Found CIVITAI_API_KEY environment variable") + # Always use the environment variable if it exists + self.settings['civitai_api_key'] = env_api_key + self._save_settings() + + def refresh_environment_variables(self) -> None: + """Refresh settings from environment variables""" + self._check_environment_variables() + def _get_default_settings(self) -> Dict[str, Any]: """Return default settings""" return {