diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-22 00:53:13 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-22 00:53:13 +0000 |
commit | 1f5a72d1ed48978ea2164fb7b02f35f62de3ec8b (patch) | |
tree | 46640f2bf476f04f9d314ed03729291dfa8e47b2 /mojo/public/bindings | |
parent | 4a6a7abd654ca4a9dd9edb4a322dbb7799e5c1bb (diff) | |
download | chromium_src-1f5a72d1ed48978ea2164fb7b02f35f62de3ec8b.zip chromium_src-1f5a72d1ed48978ea2164fb7b02f35f62de3ec8b.tar.gz chromium_src-1f5a72d1ed48978ea2164fb7b02f35f62de3ec8b.tar.bz2 |
Mojo: Make mojom_bindings_generator.py use argparse instead of optparse.
optparse is officially deprecated as of python 2.7 (the version we use,
and the final version of python 2.x. (argparse was introduced in 2.7.)
I'm pretty sure writing argument parsers is a favorite pasttime of
python weenies.
On the bright side, argparse does more for you with less code (on your
part).
R=davemoore@chromium.org
Review URL: https://codereview.chromium.org/141003009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246189 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/public/bindings')
-rwxr-xr-x | mojo/public/bindings/mojom_bindings_generator.py | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/mojo/public/bindings/mojom_bindings_generator.py b/mojo/public/bindings/mojom_bindings_generator.py index 5548ac46..14130a0 100755 --- a/mojo/public/bindings/mojom_bindings_generator.py +++ b/mojo/public/bindings/mojom_bindings_generator.py @@ -8,7 +8,7 @@ import os import sys -from optparse import OptionParser +from argparse import ArgumentParser from parse import mojo_parser from parse import mojo_translate from generators import mojom_data @@ -17,21 +17,19 @@ from generators import mojom_js_generator def Main(): - parser = OptionParser(usage="usage: %prog [options] filename1 [filename2...]") - parser.add_option("-i", "--include_dir", dest="include_dir", default=".", - help="specify directory for #includes") - parser.add_option("-o", "--output_dir", dest="output_dir", default=".", - help="specify output directory") - (options, args) = parser.parse_args() - - if len(args) < 1: - parser.print_help() - sys.exit(1) - - if not os.path.exists(options.output_dir): - os.makedirs(options.output_dir) - - for filename in args: + parser = ArgumentParser(description="Generate bindings from mojom files.") + parser.add_argument("filename", nargs="+", + help="mojom input file") + parser.add_argument("-i", "--include_dir", dest="include_dir", default=".", + help="include path for #includes") + parser.add_argument("-o", "--output_dir", dest="output_dir", default=".", + help="output directory for generated files") + args = parser.parse_args() + + if not os.path.exists(args.output_dir): + os.makedirs(args.output_dir) + + for filename in args.filename: name = os.path.splitext(os.path.basename(filename))[0] # TODO(darin): There's clearly too many layers of translation here! We can # at least avoid generating the serialized Mojom IR. @@ -39,12 +37,12 @@ def Main(): mojom = mojo_translate.Translate(tree, name) module = mojom_data.OrderedModuleFromData(mojom) cpp = mojom_cpp_generator.CppGenerator( - module, options.include_dir, options.output_dir) + module, args.include_dir, args.output_dir) cpp.GenerateFiles() js = mojom_js_generator.JsGenerator( - module, options.include_dir, options.output_dir) + module, args.include_dir, args.output_dir) js.GenerateFiles() -if __name__ == '__main__': +if __name__ == "__main__": Main() |