From 986c9d99a0839bf3e5609abe7f073b8b771ca4b6 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 25 Oct 2017 08:05:50 +0100 Subject: [PATCH] Improve arg parsing in dump-swagger --- scripts/dump-swagger.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index 4e5ac942..bab13d89 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -19,7 +19,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - +import argparse import errno import json import logging @@ -37,16 +37,24 @@ sys.path.insert(0, templating_dir) from matrix_templates import units -if len(sys.argv) > 3: - sys.stderr.write("usage: %s [output_file] [client_release_label]\n" % (sys.argv[0],)) - sys.exit(1) - -if len(sys.argv) > 1: - output_file = os.path.abspath(sys.argv[1]) -else: - output_file = os.path.join(scripts_dir, "swagger", "api-docs.json") - -release_label = sys.argv[2] if len(sys.argv) > 2 else "unstable" +parser = argparse.ArgumentParser( + "dump-swagger.py - assemble the Swagger specs into a single JSON file" +) +parser.add_argument( + "--client_release", "-c", metavar="LABEL", + default="unstable", + help="""The client-server release version to gneerate for. Default: + %(default)s""", +) +parser.add_argument( + "-o", "--output", + default=os.path.join(scripts_dir, "swagger", "api-docs.json"), + help="File to write the output to. Default: %(default)s" +) +args = parser.parse_args() + +output_file = os.path.abspath(args.output) +release_label = args.client_release major_version = release_label match = re.match("^(r\d+)(\.\d+)*$", major_version)