From: Greg Price Date: Mon, 29 Dec 2008 00:19:55 +0000 (-0500) Subject: invirt.config: fix an error on empty config files X-Git-Tag: 0.0.18~2 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-base.git/commitdiff_plain/8f5e6b9f6b945f302c821ce1abee8554ae300a0d invirt.config: fix an error on empty config files svn path=/trunk/packages/invirt-base/; revision=1933 --- diff --git a/debian/changelog b/debian/changelog index c433d61..fcba5fd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Sun, 28 Dec 2008 02:46:33 -0500 + -- Greg Price Sun, 28 Dec 2008 19:16:03 -0500 invirt-base (0.0.17) unstable; urgency=low diff --git a/python/invirt/config.py b/python/invirt/config.py index e4aad28..8c5e7e2 100644 --- a/python/invirt/config.py +++ b/python/invirt/config.py @@ -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])