diff options
author | Jose Fonseca <[email protected]> | 2015-05-26 11:01:57 +0100 |
---|---|---|
committer | Jose Fonseca <[email protected]> | 2015-05-26 15:26:03 +0100 |
commit | b787f48ed2a7e1855100afd943ae6b407abb401f (patch) | |
tree | e039bdbce98690ebe65960f5acb2443bbdef56b5 /src/mapi/glapi/gen/remap_helper.py | |
parent | 224a77cc60cc0e7f8a14e35ebca6e42544af39b1 (diff) |
glapi: Avoid argparse type argument for API XML input files.
argparse type is a nice type saver for simple data types, but it doesn't
look a good fit for the input XML file:
- Certain implementations of argparse (particularly python 2.7.3's)
invoke the type constructor for the default argument even when an
option is passed in the command line. Causing `No such file or
directory: 'gl_API.xml'` when the current dir is not
src/mapi/glapi/gen.
- The parser takes multiple arguments. This is currently worked around
using lambdas, but that unnecessarily complex and hard to read.
Furthermore it's odd to have a side-effect as heavy as parsing XML
happening deep inside the argument parsing.
https://bugs.freedesktop.org/show_bug.cgi?id=90600
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mapi/glapi/gen/remap_helper.py')
-rw-r--r-- | src/mapi/glapi/gen/remap_helper.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mapi/glapi/gen/remap_helper.py b/src/mapi/glapi/gen/remap_helper.py index 9e3c3908d8c..94ae1936d21 100644 --- a/src/mapi/glapi/gen/remap_helper.py +++ b/src/mapi/glapi/gen/remap_helper.py @@ -170,10 +170,9 @@ def _parser(): """Parse input options and return a namsepace.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--filename', - type=gl_XML.parse_GL_API, default="gl_API.xml", metavar="input_file_name", - dest='api', + dest='file_name', help="An xml description file.") parser.add_argument('-c', '--es-version', choices=[None, 'es1', 'es2'], @@ -188,11 +187,12 @@ def main(): """Main function.""" args = _parser() + api = gl_XML.parse_GL_API(args.file_name) if args.es is not None: - args.api.filter_functions_by_api(args.es) + api.filter_functions_by_api(args.es) printer = PrintGlRemap() - printer.Print(args.api) + printer.Print(api) if __name__ == '__main__': |