Mercurial > hg > MakeItSo
comparison makeitso/script2package.py @ 174:aed8c4af5f26
STUB: makeitso/cli.py makeitso/script2package.py setup.py
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Thu, 16 Jan 2014 13:31:54 -0800 |
parents | 6cd2894bb11c |
children | 5fa35ff86644 |
comparison
equal
deleted
inserted
replaced
173:ceb8c8042e48 | 174:aed8c4af5f26 |
---|---|
13 import optparse | 13 import optparse |
14 import os | 14 import os |
15 import subprocess | 15 import subprocess |
16 import sys | 16 import sys |
17 | 17 |
18 from .python import PythonModuleTemplate, PythonPackageTemplate | |
19 | |
18 def add_options(parser): | 20 def add_options(parser): |
19 """add options to the OptionParser instance""" | 21 """add options to the OptionParser instance""" |
22 # TODO: replace with `configuration` package | |
23 | |
24 parser.add_option('-m', '--module', dest='py_module', | |
25 action='store_true', default=False, | |
26 help="create a single-module package with py_modules in setup.py") | |
27 parser.add_option('-n', '--name', dest='name', | |
28 help="Name of package; default taken from script name") | |
29 parser.add_option('-o', '--output', dest='output', | |
30 help="where to output the resulting package [DEFAULT: '.']") | |
20 | 31 |
21 def main(args=sys.argv[1:]): | 32 def main(args=sys.argv[1:]): |
22 | 33 |
23 # parse command line options | 34 # parse command line options |
24 usage = '%prog [options] ...' | 35 usage = '%prog [options] script.py' |
25 class PlainDescriptionFormatter(optparse.IndentedHelpFormatter): | 36 class PlainDescriptionFormatter(optparse.IndentedHelpFormatter): |
26 """description formatter for console script entry point""" | 37 """description formatter for console script entry point""" |
27 def format_description(self, description): | 38 def format_description(self, description): |
28 if description: | 39 if description: |
29 return description.strip() + '\n' | 40 return description.strip() + '\n' |
30 else: | 41 else: |
31 return '' | 42 return '' |
32 parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter()) | 43 parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter()) |
44 add_options(parser) | |
33 options, args = parser.parse_args(args) | 45 options, args = parser.parse_args(args) |
46 if len(args) != 1: | |
47 parser.error("Please specify a source script") | |
48 | |
49 # configure template | |
50 template = PythonModuleTemplate if options.py_module else PythonPackageTemplate | |
51 | |
52 # interpolate template | |
53 | |
54 | |
55 # TODO | |
34 | 56 |
35 if __name__ == '__main__': | 57 if __name__ == '__main__': |
36 main() | 58 main() |
37 |