glapi: gl_SPARC_asm.py use argparse instead of getopt
authorDylan Baker <baker.dylan.c@gmail.com>
Fri, 13 Feb 2015 23:49:16 +0000 (15:49 -0800)
committerMatt Turner <mattst88@gmail.com>
Fri, 22 May 2015 18:31:28 +0000 (11:31 -0700)
Also drop -m switch, which only accepted a single value or raised an
error, and was unused in the makefile.

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Acked-by: Matt Turner <mattst88@gmail.com>
src/mapi/glapi/gen/gl_SPARC_asm.py

index 23e23295bec8164b95631e7a85a8630d6c07f4a1..df7a039f51e79995e0136e667adbb9197a62e362 100644 (file)
 # Authors:
 #    Ian Romanick <idr@us.ibm.com>
 
+import argparse
+
 import license
 import gl_XML, glX_XML
-import sys, getopt
 
 class PrintGenericStubs(gl_XML.gl_print_base):
     def __init__(self):
@@ -244,30 +245,19 @@ class PrintGenericStubs(gl_XML.gl_print_base):
         return
 
 
-def show_usage():
-    print "Usage: %s [-f input_file_name] [-m output_mode]" % sys.argv[0]
-    sys.exit(1)
-
-if __name__ == '__main__':
-    file_name = "gl_API.xml"
-    mode = "generic"
+def _parser():
+    """Parse arguments and return a namespace."""
+    parser = argparse.ArgumentParser()
+    parser.add_argument('-f',
+                        dest='filename',
+                        default='gl_API.xml',
+                        help='An XML description of an API.')
+    return parser.parse_args()
 
-    try:
-        (args, trail) = getopt.getopt(sys.argv[1:], "m:f:")
-    except Exception,e:
-        show_usage()
 
-    for (arg,val) in args:
-        if arg == '-m':
-            mode = val
-        elif arg == "-f":
-            file_name = val
-
-    if mode == "generic":
-        printer = PrintGenericStubs()
-    else:
-        print "ERROR: Invalid mode \"%s\" specified." % mode
-        show_usage()
+if __name__ == '__main__':
+    args = _parser()
+    printer = PrintGenericStubs()
 
-    api = gl_XML.parse_GL_API(file_name, glX_XML.glx_item_factory())
+    api = gl_XML.parse_GL_API(args.filename, glX_XML.glx_item_factory())
     printer.Print(api)