invirt.config: fix an error on empty config files
authorGreg Price <price@mit.edu>
Mon, 29 Dec 2008 00:19:55 +0000 (19:19 -0500)
committerGreg Price <price@mit.edu>
Mon, 29 Dec 2008 00:19:55 +0000 (19:19 -0500)
svn path=/trunk/packages/invirt-base/; revision=1933

debian/changelog
python/invirt/config.py

index c433d61..fcba5fd 100644 (file)
@@ -2,8 +2,9 @@ invirt-base (0.0.18) unstable; urgency=low
 
   * run_parts_list: fix unclear docstring
   * config-init.sh: degrade to non-bash gracefully, document better
+  * invirt.config: fix an error on empty config files
 
- -- Greg Price <price@mit.edu>  Sun, 28 Dec 2008 02:46:33 -0500
+ -- Greg Price <price@mit.edu>  Sun, 28 Dec 2008 19:16:03 -0500
 
 invirt-base (0.0.17) unstable; urgency=low
 
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])