annotate talosnames/main.py @ 7:68d2384b0a52

switch to command parser
author Jeff Hammel <jhammel@mozilla.com>
date Tue, 10 Jul 2012 14:24:25 -0700
parents 90e477181404
children 20c42ae0f7b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 """
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 correlate names of talos
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 """
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 import api
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 import sys
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 import optparse
7
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
10 from commandparser import CommandParser
3
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
11 from pprint import pprint
0
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12
7
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
13 class TalosNamesCLI(CommandParser):
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
14 def __init__(self):
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
15 self.api = api.TalosNames()
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
16
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
17 def graphserver(self, *names):
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
18 if not names:
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
19 pass
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
20
3
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
21 def main(args=sys.argv[1:]):
0
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23 # parse command line options
3
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
24 usage = '%prog [options] [name]'
0
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 class PlainDescriptionFormatter(optparse.IndentedHelpFormatter):
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
26 """description formatter for console script entry point"""
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
27 def format_description(self, description):
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
28 if description:
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29 return description.strip() + '\n'
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
30 else:
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
31 return ''
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
32 parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter())
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
33 options, args = parser.parse_args(args)
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
34
3
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
35 # get the names from graphserver
0
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
36 names = api.TalosNames()
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
37
3
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
38 if not args:
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
39 args = [None]
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
40 for arg in args:
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
41 for name, graphserver_name in names(arg):
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
42 print '%s : %s' % (name, graphserver_name)
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
43 print
90e477181404 now basically works
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
44
0
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
45 if __name__ == '__main__':
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
46
7
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
47 parser = CommandParser(TalosNamesCLI)
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
48 parser.invoke(sys.argv[1:])
68d2384b0a52 switch to command parser
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
49