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:raiseDandyCriticalException(f'Failed to import settings module "{self._settings_module_name}", make sure it exists in your project or python path directory.')else:try:fromtestsimportdandy_settingsasuser_settingsself._user_settings=user_settingsexceptImportError:raiseDandyCriticalException(f'Failed to import settings module "{self._settings_module_name}", make sure it exists in your project root directory or python path directory.')ifself._default_settings.BASE_PATHisNoneandself._user_settings.BASE_PATHisNone:raiseDandyCriticalException(f'You need a BASE_PATH in your "{self._settings_module_name}".')ifself._default_settings.LLM_CONFIGSisNoneandself._user_settings.LLM_CONFIGSisNone:raiseDandyCriticalException(f'You need a "default" to the "LLM_CONFIG" in your "{self._settings_module_name}".')
def__getattr__(self,name):ifhasattr(self._user_settings,name):returngetattr(self._user_settings,name)ifhasattr(self._default_settings,name):returngetattr(self._default_settings,name)raiseDandyCriticalException(f'No attribute "{name}" found in settings, check your "{self._settings_module_name}" file.')