comparison talosnames/main.py @ 8:20c42ae0f7b7

switch to command parser, round 2
author Jeff Hammel <jhammel@mozilla.com>
date Tue, 10 Jul 2012 14:31:13 -0700
parents 68d2384b0a52
children ab2bd5dda72c
comparison
equal deleted inserted replaced
7:68d2384b0a52 8:20c42ae0f7b7
14 def __init__(self): 14 def __init__(self):
15 self.api = api.TalosNames() 15 self.api = api.TalosNames()
16 16
17 def graphserver(self, *names): 17 def graphserver(self, *names):
18 if not names: 18 if not names:
19 pass 19 names = [None]
20 for arg in args:
21 for name, graphserver_name in names(arg):
22 print '%s : %s' % (name, graphserver_name)
23 print
20 24
21 def main(args=sys.argv[1:]): 25 def main(args=sys.argv[1:]):
22
23 # parse command line options
24 usage = '%prog [options] [name]'
25 class PlainDescriptionFormatter(optparse.IndentedHelpFormatter):
26 """description formatter for console script entry point"""
27 def format_description(self, description):
28 if description:
29 return description.strip() + '\n'
30 else:
31 return ''
32 parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter())
33 options, args = parser.parse_args(args)
34
35 # get the names from graphserver
36 names = api.TalosNames()
37
38 if not args:
39 args = [None]
40 for arg in args:
41 for name, graphserver_name in names(arg):
42 print '%s : %s' % (name, graphserver_name)
43 print
44
45 if __name__ == '__main__':
46
47 parser = CommandParser(TalosNamesCLI) 26 parser = CommandParser(TalosNamesCLI)
48 parser.invoke(sys.argv[1:]) 27 parser.invoke(sys.argv[1:])
49 28
29 if __name__ == '__main__':
30 main()
31