annotate stampit/main.py @ 2:164af2a4d291

better description formatting
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 19 Apr 2010 15:17:08 -0700
parents 820beace15f2
children 6ef0e769248d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 """
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 tar up a set of packages in a virtualenv per platform:
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 <package>-<version>-<platform>.tar.gz
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 Example:
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 mozmill-1.4.1-linux.tar.gz
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 """
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12 import sys
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13
2
164af2a4d291 better description formatting
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
14 from optparse import OptionParser, IndentedHelpFormatter, HelpFormatter
0
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 from subprocess import call
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16
2
164af2a4d291 better description formatting
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
17 class UnformattedDescription(IndentedHelpFormatter):
164af2a4d291 better description formatting
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
18 def format_description(self, description):
164af2a4d291 better description formatting
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
19 return description.strip() or ''
0
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 def main(args=sys.argv[1:]):
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 usage = '%prog [options] <package> <platform>'
2
164af2a4d291 better description formatting
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
23 parser = OptionParser(usage, description=globals()['__doc__'],
164af2a4d291 better description formatting
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
24 formatter=UnformattedDescription())
0
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 parser.add_option('--version',
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
26 help='version of the package to be installed (defaults to the current on the cheeseshop)')
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
27 options, args = parser.parse_args(args)
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
28
1
820beace15f2 get description from module docstring
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
29 if not args:
820beace15f2 get description from module docstring
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
30 parser.print_help()
820beace15f2 get description from module docstring
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
31 sys.exit(0)
820beace15f2 get description from module docstring
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
32
0
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
33 # create a virtualenv
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
34 # call(['virtualenv'])
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
35
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
36 if __name__ == '__main__':
af10f7e072ed initial import of stampit
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
37 main()