Add arvbox support for overriding settings in application.yml
[arvados.git] / lib / arvbox / docker / application_yml_override.py
1 #!/usr/bin/env python
2
3 import yaml
4
5 try:
6     with open("application.yml.override") as f:
7         b = yaml.load(f)
8 except IOError:
9     exit()
10
11 with open("application.yml") as f:
12     a = yaml.load(f)
13
14 def recursiveMerge(a, b):
15     if isinstance(a, dict) and isinstance(b, dict):
16         for k in b:
17             print k
18             a[k] = recursiveMerge(a.get(k), b[k])
19         return a
20     else:
21         return b
22
23 with open("application.yml", "w") as f:
24     yaml.dump(recursiveMerge(a, b), f)