|
@@ -73,9 +73,12 @@ class Subcommand(object):
|
73
|
73
|
|
74
|
74
|
def _load_plugin(self, pluginpath):
|
75
|
75
|
modpath = "%s/%s.py" % (pluginpath, self.name)
|
76
|
|
- with open(modpath) as fh:
|
77
|
|
- module = imp.load_module(self.name, fh, modpath,
|
78
|
|
- (".py", "r", imp.PY_SOURCE))
|
|
76
|
+ try:
|
|
77
|
+ with open(modpath) as fh:
|
|
78
|
+ module = imp.load_module(self.name, fh, modpath,
|
|
79
|
+ (".py", "r", imp.PY_SOURCE))
|
|
80
|
+ except IOError:
|
|
81
|
+ raise GmonPluginError(self.name)
|
79
|
82
|
self.plugin = module.Plugin(self.plugindata)
|
80
|
83
|
|
81
|
84
|
def _format_output(self, raw):
|
|
@@ -95,7 +98,10 @@ class App:
|
95
|
98
|
|
96
|
99
|
def __init__(self, cmdargs):
|
97
|
100
|
self._set_pluginpath()
|
98
|
|
- self.subcommand = Subcommand(cmdargs, self.pluginpath)
|
|
101
|
+ try:
|
|
102
|
+ self.subcommand = Subcommand(cmdargs, self.pluginpath)
|
|
103
|
+ except GmonPluginError as e:
|
|
104
|
+ self.die("no such plugin: %s" % e)
|
99
|
105
|
|
100
|
106
|
def _set_pluginpath(self):
|
101
|
107
|
mypath = os.path.dirname(os.path.realpath(sys.argv[0]))
|