invirt.config: fix an error on empty config files
[invirt/packages/invirt-base.git] / python / invirt / config.py
index e4aad28..8c5e7e2 100644 (file)
@@ -20,6 +20,8 @@ lock_path   = '/var/lib/invirt/cache.lock'
 def augment(d1, d2):
     """Splice dict-tree d2 into d1.  Return d1.
 
+    d2 may be None for an empty dict-tree, because yaml.load produces that.
+
     Example:
     >>> d = {'a': {'b': 1}, 'c': 2}
     >>> augment(d, {'a': {'d': 3}})
@@ -27,6 +29,8 @@ def augment(d1, d2):
     >>> d
     {'a': {'b', 1, 'd': 3}, 'c': 2}
     """
+    if d2 is None:
+        return d1
     for k in d2:
         if k in d1 and isinstance(d1[k], dict):
             augment(d1[k], d2[k])