Spaces:
Running
Running
File size: 823 Bytes
27e064c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | """Python reference for the browser port: per version, RuleChef executor output (trusted rules and all rules) + gate verdict."""
import json, sys
import cascade as C
R = json.load(open(sys.argv[1])); reqs = [json.loads(l) for l in open(sys.argv[2])]
out = []
for v in R["versions"][1:]:
tr = C.rules_from_dicts([r["dict"] for r in v["rules"] if r["trusted"]])
al = C.rules_from_dicts([r["dict"] for r in v["rules"]])
g = C.Gate(v["gate"]["trigger_words"], v["gate"]["skip"])
rows = {}
for r in reqs:
a = C.run_rules(tr, r["text"]); b = C.run_rules(al, r["text"])
rows[r["id"]] = [[[s["start"], s["end"], s["type"], s["text"]] for s in a], [[s["start"], s["end"], s["type"], s["text"]] for s in b], g.unexplained(r["text"], a)]
out.append(rows)
json.dump(out, open(sys.argv[3], "w"))
|