Commit c37e85723d676245ddf2fa1012549f60d998676e
Committed by
Gust
1 parent
d5f5978f
Exists in
master
and in
4 other branches
Fix widget import path
Showing
1 changed file
with
16 additions
and
8 deletions
Show diff stats
colab/utils/conf.py
| ... | ... | @@ -146,30 +146,38 @@ def load_widgets_settings(): |
| 146 | 146 | '/etc/colab/widgets_settings.py') |
| 147 | 147 | settings_module = settings_file.split('.')[-2].split('/')[-1] |
| 148 | 148 | py_path = "/".join(settings_file.split('/')[:-1]) |
| 149 | - | |
| 150 | 149 | logger.info('Widgets Settings file: %s', settings_file) |
| 151 | 150 | |
| 152 | 151 | if not os.path.exists(py_path): |
| 153 | - msg = "The py file {} does not exist".format(py_path) | |
| 154 | - raise InaccessibleSettings(msg) | |
| 152 | + return | |
| 155 | 153 | |
| 156 | - py_settings = _load_py_file(settings_module, py_path) | |
| 154 | + original_path = sys.path | |
| 155 | + sys.path.append(py_path) | |
| 156 | + importlib.import_module(settings_module) | |
| 157 | 157 | |
| 158 | - # Read settings from settings.d | |
| 159 | - settings_dir = '/etc/colab/widgets.d' | |
| 158 | + # Read settings from widgets.d | |
| 159 | + settings_dir = os.getenv('COLAB_WIDGETS', | |
| 160 | + '/etc/colab/widgets.d') | |
| 160 | 161 | logger.info('Widgets Settings directory: %s', settings_dir) |
| 162 | + sys.path = original_path | |
| 161 | 163 | |
| 162 | 164 | if not os.path.exists(settings_dir): |
| 163 | - return py_settings | |
| 165 | + return | |
| 164 | 166 | |
| 165 | 167 | for file_name in os.listdir(settings_dir): |
| 166 | 168 | if not file_name.endswith('.py'): |
| 167 | 169 | continue |
| 168 | 170 | |
| 171 | + original_path = sys.path | |
| 172 | + sys.path.append(settings_dir) | |
| 173 | + | |
| 169 | 174 | file_module = file_name.split('.')[0] |
| 170 | - _load_py_file(file_module, settings_dir) | |
| 175 | + importlib.import_module(file_module) | |
| 171 | 176 | logger.info('Loaded %s/%s', settings_dir, file_name) |
| 172 | 177 | |
| 178 | + sys.path = original_path | |
| 179 | + | |
| 180 | + | |
| 173 | 181 | def validate_database(database_dict, default_db, debug): |
| 174 | 182 | db_name = database_dict.get('default', {}).get('NAME') |
| 175 | 183 | if not debug and db_name == default_db: | ... | ... |