mirror of
https://github.com/priyanshujain/messageboardbench.git
synced 2026-10-02 19:17:07 +00:00
41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
"""Generate, freeze, or unblind confirmatory artifact-review packets."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
|
|
from messageboardbench.blinded_review import freeze_labels, generate_packets, join_labels
|
|
|
|
|
|
def main(argv=None) -> int:
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
sub = parser.add_subparsers(dest="command", required=True)
|
|
generate = sub.add_parser("generate")
|
|
generate.add_argument("--report", type=Path, required=True)
|
|
generate.add_argument("--packets", type=Path, required=True)
|
|
generate.add_argument("--mapping", type=Path, required=True)
|
|
freeze = sub.add_parser("freeze")
|
|
freeze.add_argument("--labels", type=Path, required=True)
|
|
freeze.add_argument("--mapping", type=Path, required=True)
|
|
freeze.add_argument("--out", type=Path, required=True)
|
|
join = sub.add_parser("join")
|
|
join.add_argument("--frozen-labels", type=Path, required=True)
|
|
join.add_argument("--mapping", type=Path, required=True)
|
|
join.add_argument("--out", type=Path, required=True)
|
|
args = parser.parse_args(argv)
|
|
if args.command == "generate":
|
|
result = generate_packets(args.report, args.packets, args.mapping)
|
|
elif args.command == "freeze":
|
|
result = freeze_labels(args.labels, args.mapping, args.out)
|
|
else:
|
|
result = join_labels(args.frozen_labels, args.mapping, args.out)
|
|
print(json.dumps(result, indent=2))
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|