self.index = -1
moe.log.default.verbose(">> Pipeline %s finished\n" % self.name)
- def add_hook(self, name):
- modname = "moe.hooks." + name
- moe.log.default.verbose(">> Loading hook %s\n" % name)
- if not sys.modules.has_key(modname):
- ## FIXME: Configuration variable for the hook directory?
- try:
- fp, path, desc = imp.find_module(name, ["moe/hooks"])
- except ImportError:
- raise MoePipeError, "Cannot find hook module " + modname
- try:
- imp.load_module(modname, fp, path, desc)
- finally:
- fp.close()
- sys.modules[modname].init(self)
-
def configure(self, names):
for name in names.split():
self.add_hook(name)
shutil.rmtree(os.path.join(dir, f))
else:
raise err
+
+def load_module(modname):
+ """Return the module `modname` (full name) if loaded, or try to import it.
+ Returns the module or raises `ImportError`."""
+ if not sys.modules.has_key(modname):
+ moe.log.debug("Loading module %s" % (path, name))
+ __import__(modname)
+ return sys.modules[modname]