def__init__(self):fromdandyimportdefault_settingsself._default_settings=default_settingsself._settings_module_name=get_settings_module_name()ifself._settings_module_nameisnotNone:try:self._user_settings=importlib.import_module(self._settings_module_name)exceptImportError:message=f'Failed to import settings module "{self._settings_module_name}", make sure it exists in your project or python path directory.'raiseDandyCriticalException(message)else:try:fromtestsimportdandy_settingsasuser_settingsself._user_settings=user_settingsexceptImportError:message=f'Failed to import settings module "{self._settings_module_name}", make sure it exists in your project root directory or python path directory.'raiseDandyCriticalException(message)ifself._default_settings.BASE_PATHisNoneandself._user_settings.BASE_PATHisNone:message=f'You need a BASE_PATH in your "{self._settings_module_name}".'raiseDandyCriticalException(message)ifself._default_settings.LLM_CONFIGSisNoneandself._user_settings.LLM_CONFIGSisNone:message=f'You need a "default" to the "LLM_CONFIG" in your "{self._settings_module_name}".'raiseDandyCriticalException(message)
def__getattr__(self,name):ifhasattr(self._user_settings,name):returngetattr(self._user_settings,name)ifhasattr(self._default_settings,name):returngetattr(self._default_settings,name)message=f'No attribute "{name}" found in settings, check your "{self._settings_module_name}" file.'raiseDandyCriticalException(message)