X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-base.git/blobdiff_plain/637da1b9e329a9a1f5dd739f7c73b6464df4967f..8f5e6b9f6b945f302c821ce1abee8554ae300a0d:/python/invirt/config.py diff --git a/python/invirt/config.py b/python/invirt/config.py index 86d9c8a..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]) @@ -38,7 +42,8 @@ def run_parts_list(dirname): """Reimplements Debian's run-parts --list. One difference from run-parts's behavior: run-parts --list /foo/ - will give output like /foo//bar, because Python code tends to expect this. + will give output like /foo//bar, but run_parts_list('/foo/') gives + /foo/bar in deference to Python conventions. Matches documented behavior of run-parts in debianutils v2.28.2, dated 2007. """