fix bug in late-import of yaml in invirt.config
[invirt/packages/invirt-base.git] / files / usr / share / python-support / sipb-xen-base / invirt / config.py
index 02409a4..c27ba6b 100644 (file)
@@ -1,13 +1,10 @@
-import json, yaml
+import json
 from invirt.common import *
 from os.path import getmtime
 
 default_src_path   = '/etc/invirt/master.yaml'
 default_cache_path = '/var/lib/invirt/cache.json'
 
-try:    default_loader = yaml.CSafeLoader
-except: default_loader = yaml.SafeLoader
-
 def load(src_path = default_src_path,
          cache_path = default_cache_path,
          force_refresh = False):
@@ -36,6 +33,9 @@ def load(src_path = default_src_path,
         # written.
         @with_lock_file('/var/lib/invirt/cache.lock')
         def cfg():
+            import yaml
+            try:    default_loader = yaml.CSafeLoader
+            except: default_loader = yaml.SafeLoader
             cfg = with_closing(file(src_path))(lambda f: yaml.load(f, default_loader))
             try: with_closing(file(cache_path, 'w'))(lambda f: f.write(json.write(cfg)))
             except: pass # silent failure