From c29eb9d7b1f2bb79f2cc7d2e64cd3aeea597ab75 Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Mon, 29 Aug 2022 12:38:40 -0400 Subject: [PATCH] contrib: only read implemments json file when needed Signed-off-by: John Mulligan --- contrib/apiage.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/contrib/apiage.py b/contrib/apiage.py index 3c5dbd1..a6e98e0 100755 --- a/contrib/apiage.py +++ b/contrib/apiage.py @@ -393,14 +393,16 @@ def main(): ) cli = parser.parse_args() - api_src = read_json(cli.source) if cli.source else {} api_tracked = read_json(cli.current) if cli.current else {} - if not api_src: - print( - f"error: no source data found (path: {cli.source})", file=sys.stderr - ) - sys.exit(1) + def _get_api_src(): + api_src = read_json(cli.source) if cli.source else {} + if not api_src: + print( + f"error: no source data found (path: {cli.source})", file=sys.stderr + ) + sys.exit(1) + return api_src if cli.current_tag: tag_to_versions(cli, cli.current_tag) @@ -411,12 +413,14 @@ def main(): if cli.mode == "compare": # just compare the json files. useful for CI + api_src = _get_api_src() pcount = api_compare(api_tracked, api_src) if pcount: print(f"error: {pcount} problems detected", file=sys.stderr) sys.exit(1) elif cli.mode == "update": # update the current/tracked apis with those from the source + api_src = _get_api_src() defaults = {} _setif(defaults, "added_in_version", cli.added_in_version) _setif(defaults, "expected_stable_version", cli.stable_in_version)