Skip to content

Commit

Permalink
Use argparse for argument handling in preprocess_spec.py (#49)
Browse files Browse the repository at this point in the history
More canonically pythonic than munging with sys.args!
  • Loading branch information
yuvipanda authored and brendandburns committed Feb 14, 2018
1 parent 39b6e38 commit af31f88
Showing 1 changed file with 20 additions and 10 deletions.
30 changes: 20 additions & 10 deletions openapi/preprocess_spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import operator
import os.path
import sys
import argparse
from collections import OrderedDict

import urllib3
Expand Down Expand Up @@ -283,24 +284,33 @@ def write_json(filename, object):


def main():
if len(sys.argv) != 4:
print("Usage:\n\n\tpython preprocess_spec.py client_language kubernetes_branch " \
"output_spec_path")
return 1
client_language = sys.argv[1]
argparser = argparse.ArgumentParser()
argparser.add_argument(
'client_language',
help='Client language to setup spec for'
)
argparser.add_argument(
'kubernetes_branch',
help='Branch of github.com/kubernetes/kubernetes to get spec from'
)
argparser.add_argument(
'output_spec_path',
help='Path to otput spec file to'
)
args = argparser.parse_args()

spec_url = 'https://raw.githubusercontent.com/kubernetes/kubernetes/' \
'%s/api/openapi-spec/swagger.json' % sys.argv[2]
output_path = sys.argv[3]
'%s/api/openapi-spec/swagger.json' % args.kubernetes_branch

pool = urllib3.PoolManager()
with pool.request('GET', spec_url, preload_content=False) as response:
if response.status != 200:
print("Error downloading spec file. Reason: %s" % response.reason)
return 1
in_spec = json.load(response, object_pairs_hook=OrderedDict)
write_json(output_path + ".unprocessed", in_spec)
out_spec = process_swagger(in_spec, client_language)
write_json(output_path, out_spec)
write_json(args.output_spec_path + ".unprocessed", in_spec)
out_spec = process_swagger(in_spec, args.client_language)
write_json(args.output_spec_path, out_spec)
return 0


Expand Down

0 comments on commit af31f88

Please sign in to comment.