comparison commandparser/command.py @ 3:406183d93e48

whitespace
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 30 Mar 2012 09:13:06 -0700
parents d36032625794
children 5f31e56eebb6
comparison
equal deleted inserted replaced
2:d36032625794 3:406183d93e48
41 def add_option(self, *args, **kwargs): 41 def add_option(self, *args, **kwargs):
42 kwargs['default'] = Undefined(kwargs.get('default')) 42 kwargs['default'] = Undefined(kwargs.get('default'))
43 OptionParser.add_option(self, *args, **kwargs) 43 OptionParser.add_option(self, *args, **kwargs)
44 44
45 def print_help(self): 45 def print_help(self):
46 46
47 OptionParser.print_help(self) 47 OptionParser.print_help(self)
48 48
49 # short descriptions for commands 49 # short descriptions for commands
50 command_descriptions = [dict(name=i, 50 command_descriptions = [dict(name=i,
51 description=self.commands[i]['doc'].strip().split('\n',1)[0]) 51 description=self.commands[i]['doc'].strip().split('\n',1)[0])
52 for i in self.commands.keys()] 52 for i in self.commands.keys()]
53 command_descriptions.append(dict(name='help', description='print help for a given command')) 53 command_descriptions.append(dict(name='help', description='print help for a given command'))
59 print 59 print
60 print description 60 print description
61 61
62 def parse(self, args=sys.argv[1:]): 62 def parse(self, args=sys.argv[1:]):
63 """global parse step""" 63 """global parse step"""
64 64
65 self.options, args = self.parse_args(args) 65 self.options, args = self.parse_args(args)
66 66
67 # help/sanity check -- should probably be separated 67 # help/sanity check -- should probably be separated
68 if not len(args): 68 if not len(args):
69 self.print_help() 69 self.print_help()
182 def doc2arghelp(self, docstring, decoration='-', delimeter=':'): 182 def doc2arghelp(self, docstring, decoration='-', delimeter=':'):
183 """ 183 """
184 Parse a docstring and get at the section describing arguments 184 Parse a docstring and get at the section describing arguments
185 - decoration: decoration character 185 - decoration: decoration character
186 - delimeter: delimter character 186 - delimeter: delimter character
187 187
188 Yields a tuple of the stripped docstring and the arguments help 188 Yields a tuple of the stripped docstring and the arguments help
189 dictionary 189 dictionary
190 """ 190 """
191 lines = [ i.strip() for i in docstring.split('\n') ] 191 lines = [ i.strip() for i in docstring.split('\n') ]
192 argdict = {} 192 argdict = {}
235 help=help) 235 help=help)
236 else: 236 else:
237 if value is not None: 237 if value is not None:
238 help += ' [DEFAULT: %s]' % value 238 help += ' [DEFAULT: %s]' % value
239 parser.add_option('--%s' % key, help=help, default=value) 239 parser.add_option('--%s' % key, help=help, default=value)
240 240
241 return parser 241 return parser