Commit 7bde548fe11361c4159b2ccfbcf3513d4a490f81
1 parent
4622cb2a
Exists in
master
and in
39 other branches
Added helper to load yaml settings
Showing
1 changed file
with
32 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,32 @@ | @@ -0,0 +1,32 @@ | ||
1 | + | ||
2 | +import os | ||
3 | +import yaml | ||
4 | + | ||
5 | +from django.core.exceptions import ImproperlyConfigured | ||
6 | + | ||
7 | + | ||
8 | +class InaccessibleYAMLSettings(ImproperlyConfigured): | ||
9 | + """Settings YAML is Inaccessible. | ||
10 | + | ||
11 | + Check if the file exists and if you have read permissions.""" | ||
12 | + | ||
13 | + | ||
14 | +def load_yaml_settings(): | ||
15 | + yaml_path = os.getenv('COLAB_SETTINGS', '/etc/colab.yaml') | ||
16 | + | ||
17 | + if not os.path.exists(yaml_path): | ||
18 | + msg = "The yaml file {} does not exist".format(yaml_path) | ||
19 | + raise InaccessibleYAMLSettings(msg) | ||
20 | + | ||
21 | + try: | ||
22 | + with open(yaml_path) as yaml_file: | ||
23 | + yaml_settings = yaml.load(yaml_file.read()) | ||
24 | + except IOError: | ||
25 | + msg = ('Could not open settings file {}. Please ' | ||
26 | + 'check if the file exists and if user ' | ||
27 | + 'has read rights.').format(yaml_path) | ||
28 | + raise InaccessibleYAMLSettings(msg) | ||
29 | + | ||
30 | + return yaml_settings | ||
31 | + | ||
32 | +yaml_settings = load_yaml_settings() |