"""Apply the sealed fall rule to ~/data/hn-em-dash-fall/items.csv; write results.json."""
import csv, json, os, sys
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, HERE)
import rule
path = sys.argv[1] if len(sys.argv) > 1 else os.path.expanduser("~/data/hn-em-dash-fall/items.csv")
out_dir = sys.argv[2] if len(sys.argv) > 2 else HERE
rows = list(csv.DictReader(open(path)))
result = rule.analyse(rows)
kinds = {}
for r in rows:
    kinds[r["kind"]] = kinds.get(r["kind"], 0) + 1
result["kinds"] = kinds
json.dump(result, open(os.path.join(out_dir, "results.json"), "w"), indent=1)
print(json.dumps({k: v for k, v in result.items() if k not in ("share_em", "n")}, indent=1))
