Commit 7bde548fe11361c4159b2ccfbcf3513d4a490f81

Authored by Sergio Oliveira
1 parent 4622cb2a

Added helper to load yaml settings

Showing 1 changed file with 32 additions and 0 deletions   Show diff stats
src/colab/utils/conf.py 0 → 100644
... ... @@ -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()
... ...