# HG changeset patch # User Raphaël Gomès <rgomes@octobus.net> # Date 1678895660 -3600 # Wed Mar 15 16:54:20 2023 +0100 # Node ID f0d7e543095ffe852d7c95f0d9d8c0a1bd02acf1 # Parent f014a23a05ad8bd28eaa7c23970b8a50e1b5ca41 bin: rewrite `result-compare` with `click` This is much simpler and more powerful than rolling it by hand. diff --git a/python-libs/poulpe/bin/result-compare b/python-libs/poulpe/bin/result-compare --- a/python-libs/poulpe/bin/result-compare +++ b/python-libs/poulpe/bin/result-compare @@ -1,11 +1,9 @@ #!/usr/bin/env python3 -# -# compare many result together, use it with `result-search --content-as-json` -import argparse import collections import json -import sys + +import click HEADERS_KEYS = [ ('data-env-vars', 'name'), @@ -77,21 +75,16 @@ print(f"{key}: {median:6.6f} {display}") -def _parsers(): - cmd_parser = argparse.ArgumentParser(prog='result-compare') - return cmd_parser - +@click.command() +@click.argument("file", type=click.File(), default="-") +def result_compare(file): + """Compare results together. -def main(args): - parser = _parsers() - param = parser.parse_args(args) - all_results = json.load(sys.stdin) + `poulpe result-search --content-as-json | poulpe result-compare`""" + all_results = json.load(file) results = dispatch_results(all_results) display_results(results) - return 0 if __name__ == "__main__": - ret = main(sys.argv[1:]) - assert ret is not None - sys.exit(ret) + result_compare()