diff options
-rw-r--r-- | RepSys/plugins/__init__.py | 8 | ||||
-rwxr-xr-x | repsys | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/RepSys/plugins/__init__.py b/RepSys/plugins/__init__.py index 8bf4521..e4f4e08 100644 --- a/RepSys/plugins/__init__.py +++ b/RepSys/plugins/__init__.py @@ -8,13 +8,13 @@ def load(): for entry in os.listdir(pluginsdir): if entry != "__init__.py" and entry.endswith(".py"): name = entry[:-3] - loaded[name] = __import__("RepSys.plugins."+name, - fromlist=[name]) + loaded[name] = __import__("RepSys.plugins."+name, {}, {}, + [name]) elif os.path.isdir(entry): initfile = os.path.join(entry, "__init__.py") if os.path.isfile(initfile): - loaded[entry] = __import__("RepSys.plugins."+entry, - fromlist=[entry]) + loaded[entry] = __import__("RepSys.plugins."+entry, {}, {}, + [entry]) def list(): return loaded.keys() @@ -69,10 +69,14 @@ def dispatch_command(command, argv, debug=0): traceback.print_exc() sys.exit(1) raise Error, "invalid command '%s'" % command - plugins.load() command_module.main() if __name__ == "__main__": + try: + plugins.load() + except Error, e: + sys.stderr.write("plugin initialization error: %s\n" % e) + sys.exit(1) do_command(parse_options, dispatch_command) # vim:et:ts=4:sw=4 |