blob: 8bf452196ecb47026cd6a3272f3a7d16901653c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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,
fromlist=[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])
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
|