[Mesa-dev] [PATCH 15/27] glapi: gl_x86_64_asm.py: Use argparse instead of getopt

Dylan Baker baker.dylan.c at gmail.com
Wed May 20 18:03:12 PDT 2015


Also removes the redundant -m argument, which could only be set to
'generic', or it would raise an exception. This option wasn't used in
the make file.

Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
 src/mapi/glapi/gen/gl_x86-64_asm.py | 40 +++++++++++++++----------------------
 1 file changed, 16 insertions(+), 24 deletions(-)

diff --git a/src/mapi/glapi/gen/gl_x86-64_asm.py b/src/mapi/glapi/gen/gl_x86-64_asm.py
index 7afc2b1..0188964 100644
--- a/src/mapi/glapi/gen/gl_x86-64_asm.py
+++ b/src/mapi/glapi/gen/gl_x86-64_asm.py
@@ -25,9 +25,11 @@
 # Authors:
 #    Ian Romanick <idr at us.ibm.com>
 
+import argparse
+import copy
+
 import license
 import gl_XML, glX_XML
-import sys, getopt, copy
 
 def should_use_push(registers):
     for [reg, offset] in registers:
@@ -289,30 +291,20 @@ 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)
+
+def _parser():
+    """Parse arguments and return a namespace."""
+    parser = argparse.ArgumentParser()
+    parser.add_argument('-f',
+                        default='gl_API.xml',
+                        dest='filename',
+                        help='An XML file describing an API')
+    return parser.parse_args()
+
 
 if __name__ == '__main__':
-    file_name = "gl_API.xml"
-    mode = "generic"
-
-    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()
+    args = _parser()
+    printer = PrintGenericStubs()
+    api = gl_XML.parse_GL_API(args.filename, glX_XML.glx_item_factory())
 
-    api = gl_XML.parse_GL_API(file_name, glX_XML.glx_item_factory())
     printer.Print(api)
-- 
2.4.1



More information about the mesa-dev mailing list