github.com/hwaf/hwaf@v0.0.0-20140814122253-5465f73b20f1/py-hwaftools/orch/features/__init__.py (about) 1 #!/usr/bin/env python 2 3 import os.path as osp 4 from glob import glob 5 6 import waflib.Logs as msg 7 8 registered_defaults = dict() # feature name -> configuration dictionary 9 10 def load(): 11 msg.debug('orch: loading features') 12 13 mydir = osp.dirname(__file__) 14 for fpath in glob("%s/feature_*.py"%mydir): 15 ffile = osp.basename(fpath) 16 modname = osp.splitext(ffile)[0] 17 msg.debug('orch: loading module: "%s"' % modname) 18 exec("from . import %s"%modname) 19 20 def defaults(feats): 21 ret = dict() 22 for toe in feats: 23 d = registered_defaults.get(toe) 24 if d: 25 ret.update(d) 26 return ret 27 28 def register_defaults(name, **kwds): 29 '''Register a set of default feature configuration items which may be 30 overridden by user configuration. 31 ''' 32 registered_defaults[name] = kwds 33