diff options
author | Dylan Baker <dylanx.c.baker@intel.com> | 2014-11-24 14:14:12 -0800 |
---|---|---|
committer | Dylan Baker <baker.dylan.c@gmail.com> | 2015-05-21 09:44:13 -0700 |
commit | 49729326b7bb0331cfbcce174ed43c6341be749e (patch) | |
tree | 1a3fe9ece7f1b9a23add97213a950ca0ba3be8fd | |
parent | 84486e5741b6b612cc2eb7089d6044eaaca26a1b (diff) |
glapi: gl_procs.py: Use argparse rather than getopt
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Acked-by: Matt Turner <mattst88@gmail.com>
-rw-r--r-- | src/mapi/glapi/gen/gl_procs.py | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/src/mapi/glapi/gen/gl_procs.py b/src/mapi/glapi/gen/gl_procs.py index d5ffb9286e..cf6d2de8a4 100644 --- a/src/mapi/glapi/gen/gl_procs.py +++ b/src/mapi/glapi/gen/gl_procs.py @@ -25,8 +25,7 @@ # Authors: # Ian Romanick <idr@us.ibm.com> -import sys -import getopt +import argparse import license import gl_XML @@ -164,31 +163,28 @@ typedef struct { return -def show_usage(): - print "Usage: %s [-f input_file_name] [-c]" % sys.argv[0] - print "-c Enable compatibility with OpenGL ES." - sys.exit(1) +def _parser(): + """Parse arguments and return a namepsace.""" + api_type = lambda x: gl_XML.parse_GL_API(x, glX_XML.glx_item_factory()) + + parser = argparse.ArgumentParser() + parser.add_argument('-f', '--filename', + type=api_type, + default='gl_API.xml', + metavar="input_file_name", + dest='api', + help="Path to an XML description of OpenGL API.") + parser.add_argument('-c', '--es-version', + dest='es', + action="store_true", + help="filter functions for es") + return parser.parse_args() def main(): """Main function.""" - file_name = "gl_API.xml" - - try: - args, _ = getopt.getopt(sys.argv[1:], "f:c") - except Exception: - show_usage() - - es = False - for arg, val in args: - if arg == "-f": - file_name = val - elif arg == "-c": - es = True - - api = gl_XML.parse_GL_API(file_name, glX_XML.glx_item_factory()) - printer = PrintGlProcs(es) - printer.Print(api) + args = _parser() + PrintGlProcs(args.es).Print(args.api) if __name__ == '__main__': |