From: Ralf Jung Date: Thu, 29 May 2014 08:04:26 +0000 (+0200) Subject: more general module loading; do not use __dict__ directly X-Git-Url: https://git.ralfj.de/mass-build.git/commitdiff_plain/2d7dbfca0da3fb29cd8578a2e2fd66b698fe3a3d?ds=inline more general module loading; do not use __dict__ directly --- diff --git a/mass_build.py b/mass_build.py index b5d5817..c5f4ddd 100755 --- a/mass_build.py +++ b/mass_build.py @@ -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