# 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()