Commit 54ff267481771974f508818c91061596dc8d59ce
1 parent
5618ed57
Exists in
profile_integration
Importing widgets settings
Showing
2 changed files
with
31 additions
and
0 deletions
Show diff stats
colab/settings.py
colab/utils/conf.py
| ... | ... | @@ -137,6 +137,35 @@ def load_colab_apps(): |
| 137 | 137 | return {'COLAB_APPS': COLAB_APPS} |
| 138 | 138 | |
| 139 | 139 | |
| 140 | +def load_widgets_settings(): | |
| 141 | + settings_file = os.getenv('COLAB_WIDGETS_SETTINGS', | |
| 142 | + '/etc/colab/widgets_settings.py') | |
| 143 | + settings_module = settings_file.split('.')[-2].split('/')[-1] | |
| 144 | + py_path = "/".join(settings_file.split('/')[:-1]) | |
| 145 | + | |
| 146 | + logger.info('Widgets Settings file: %s', settings_file) | |
| 147 | + | |
| 148 | + if not os.path.exists(py_path): | |
| 149 | + msg = "The py file {} does not exist".format(py_path) | |
| 150 | + raise InaccessibleSettings(msg) | |
| 151 | + | |
| 152 | + py_settings = _load_py_file(settings_module, py_path) | |
| 153 | + | |
| 154 | + # Read settings from settings.d | |
| 155 | + settings_dir = '/etc/colab/widgets.d' | |
| 156 | + logger.info('Widgets Settings directory: %s', settings_dir) | |
| 157 | + | |
| 158 | + if not os.path.exists(settings_dir): | |
| 159 | + return py_settings | |
| 160 | + | |
| 161 | + for file_name in os.listdir(settings_dir): | |
| 162 | + if not file_name.endswith('.py'): | |
| 163 | + continue | |
| 164 | + | |
| 165 | + file_module = file_name.split('.')[0] | |
| 166 | + _load_py_file(file_module, settings_dir) | |
| 167 | + logger.info('Loaded %s/%s', settings_dir, file_name) | |
| 168 | + | |
| 140 | 169 | def validate_database(database_dict, default_db, debug): |
| 141 | 170 | db_name = database_dict.get('default', {}).get('NAME') |
| 142 | 171 | if not debug and db_name == default_db: | ... | ... |