Sfoglia il codice sorgente

Fix SConstruct check for config.is_enabled()

Ignacio Etcheverry 8 anni fa
parent
commit
d5caf71c3f
1 ha cambiato i file con 6 aggiunte e 7 eliminazioni
  1. 6 7
      SConstruct

+ 6 - 7
SConstruct

@@ -192,13 +192,12 @@ for x in module_list:
     module_enabled = True
     tmppath = "./modules/" + x
     sys.path.append(tmppath)
-    try:
-        import config
-        if (not config.is_enabled()):
-            module_enabled = False
-    except:
-        pass
+    import config
+    enabled_attr = getattr(config, "is_enabled", None)
+    if (callable(enabled_attr) and not config.is_enabled()):
+        module_enabled = False
     sys.path.remove(tmppath)
+    sys.modules.pop('config')
     opts.Add(BoolVariable('module_' + x + '_enabled', "Enable module '%s'" % (x, ), module_enabled))
 
 opts.Update(env_base)  # update environment
@@ -246,7 +245,7 @@ if selected_platform in platform_list:
         env = detect.create(env_base)
     else:
         env = env_base.Clone()
-    
+
     if env['dev']:
         env["warnings"] = "all"
         env['verbose'] = True