summaryrefslogtreecommitdiffstats
path: root/mojo/public/bindings
diff options
context:
space:
mode:
authorviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-22 00:53:13 +0000
committerviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-22 00:53:13 +0000
commit1f5a72d1ed48978ea2164fb7b02f35f62de3ec8b (patch)
tree46640f2bf476f04f9d314ed03729291dfa8e47b2 /mojo/public/bindings
parent4a6a7abd654ca4a9dd9edb4a322dbb7799e5c1bb (diff)
downloadchromium_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-xmojo/public/bindings/mojom_bindings_generator.py36
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()