diff options
author | Bogdano Arendartchuk <bogdano@mandriva.org> | 2007-06-04 15:03:57 +0000 |
---|---|---|
committer | Bogdano Arendartchuk <bogdano@mandriva.org> | 2007-06-04 15:03:57 +0000 |
commit | b2ce8ef1c40f7c58f4bb4629b5b5e95ce8c252d2 (patch) | |
tree | 0d16405bf439725375a68146a342fa0f44f4b5fa /RepSys/plugins/__init__.py | |
parent | f23797f8de1cdc3bb555fb4267ce9eec4c6f3968 (diff) | |
download | mgarepo-b2ce8ef1c40f7c58f4bb4629b5b5e95ce8c252d2.tar mgarepo-b2ce8ef1c40f7c58f4bb4629b5b5e95ce8c252d2.tar.gz mgarepo-b2ce8ef1c40f7c58f4bb4629b5b5e95ce8c252d2.tar.bz2 mgarepo-b2ce8ef1c40f7c58f4bb4629b5b5e95ce8c252d2.tar.xz mgarepo-b2ce8ef1c40f7c58f4bb4629b5b5e95ce8c252d2.zip |
Frontported changes from V1_6_X since april
Diffstat (limited to 'RepSys/plugins/__init__.py')
-rw-r--r-- | RepSys/plugins/__init__.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/RepSys/plugins/__init__.py b/RepSys/plugins/__init__.py new file mode 100644 index 0000000..e4f4e08 --- /dev/null +++ b/RepSys/plugins/__init__.py @@ -0,0 +1,27 @@ +import os + +loaded = {} + +def load(): + # based on smart's plugin system + pluginsdir = os.path.dirname(__file__) + for entry in os.listdir(pluginsdir): + if entry != "__init__.py" and entry.endswith(".py"): + name = entry[:-3] + 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, {}, {}, + [entry]) + +def list(): + return loaded.keys() + +def help(name): + from RepSys import Error + try: + return loaded[name].__doc__ + except KeyError: + raise Error, "plugin %s not found" % name |