in dusty/models/config.py [0:0]
def _variable_substitution(self, obj):
""" Allows to use raw environmental variables inside YAML/JSON config """
if isinstance(obj, dict):
for key in list(obj.keys()):
obj[self._variable_substitution(key)] = \
self._variable_substitution(obj.pop(key))
if isinstance(obj, list):
for index, item in enumerate(obj):
obj[index] = self._variable_substitution(item)
if isinstance(obj, str):
if re.match(r"^\$\![a-zA-Z_][a-zA-Z0-9_]*$", obj.strip()) \
and obj.strip()[2:] in os.environ:
return os.environ[obj.strip()[2:]]
return obj