|  | @@ -9,6 +9,10 @@ class SardinePluginError(Exception):
 | 
	
		
			
			| 9 | 9 |      pass
 | 
	
		
			
			| 10 | 10 |  
 | 
	
		
			
			| 11 | 11 |  
 | 
	
		
			
			|  | 12 | +class SardinePluginUsageError(SardinePluginError):
 | 
	
		
			
			|  | 13 | +    pass
 | 
	
		
			
			|  | 14 | +
 | 
	
		
			
			|  | 15 | +
 | 
	
		
			
			| 12 | 16 |  class XGPRenderer(object):
 | 
	
		
			
			| 13 | 17 |  
 | 
	
		
			
			| 14 | 18 |      def __init__(self, txt=None):
 | 
	
	
		
			
			|  | @@ -98,6 +102,8 @@ class Subcommand(object):
 | 
	
		
			
			| 98 | 102 |  
 | 
	
		
			
			| 99 | 103 |  class App:
 | 
	
		
			
			| 100 | 104 |  
 | 
	
		
			
			|  | 105 | +    name = "sardine"
 | 
	
		
			
			|  | 106 | +
 | 
	
		
			
			| 101 | 107 |      def __init__(self, cmdargs):
 | 
	
		
			
			| 102 | 108 |          self.cmdargs = cmdargs
 | 
	
		
			
			| 103 | 109 |          self._set_pluginpath()
 | 
	
	
		
			
			|  | @@ -119,5 +125,9 @@ class App:
 | 
	
		
			
			| 119 | 125 |          try:
 | 
	
		
			
			| 120 | 126 |              self.subcommand = Subcommand(self.cmdargs, self.pluginpath)
 | 
	
		
			
			| 121 | 127 |              print self.subcommand.get_output()
 | 
	
		
			
			|  | 128 | +        except SardinePluginUsageError as e:
 | 
	
		
			
			|  | 129 | +            msg = ("plugin usage: %s %s %s"
 | 
	
		
			
			|  | 130 | +                   % (self.name, self.subcommand.name, e))
 | 
	
		
			
			|  | 131 | +            self.die(msg, 11)
 | 
	
		
			
			| 122 | 132 |          except SardinePluginError as e:
 | 
	
		
			
			| 123 | 133 |              self.die(e, 10)
 |