more general module loading; do not use __dict__ directly
authorRalf Jung <post@ralfj.de>
Thu, 29 May 2014 08:04:26 +0000 (10:04 +0200)
committerRalf Jung <post@ralfj.de>
Thu, 29 May 2014 08:04:26 +0000 (10:04 +0200)
mass_build.py

index b5d581702386aaee54d751b56535e872ec821e8f..c5f4dddf9a1f11fbbab85b882baa3dc824b067f4 100755 (executable)
@@ -21,10 +21,10 @@ import argparse, os, sys, subprocess
 from collections import OrderedDict
 
 # helper funcrions
-def load_module(name, path):
+def load_module(name, path, write_bytecode = False):
        import importlib.machinery
        old_val = sys.dont_write_bytecode
-       sys.dont_write_bytecode = True
+       sys.dont_write_bytecode = not write_bytecode
        module = importlib.machinery.SourceFileLoader(name, path).load_module()
        sys.dont_write_bytecode = old_val
        return module
@@ -88,7 +88,7 @@ if args.reset_source and not args.update:
        raise Exception("Can not reset sources without doing an update")
 
 # load config as dictionary
-config = load_module('config', args.config).__dict__
+config = vars(load_module('config', args.config))
 
 # initialise variables holding the configuration
 allProjects = OrderedDict() # all projects