| 
				
			 | 
			
			
				@@ -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])) 
			 |