Spaces:
Sleeping
Sleeping
File size: 969 Bytes
146e93e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | def compute_transparency_scorecard(results):
agencies = {}
for r in results:
a = r["source"]
agencies.setdefault(a, {
"documents": 0,
"exemptions": 0,
"latest_date": None,
})
agencies[a]["documents"] += 1
agencies[a]["exemptions"] += len(r.get("exemptions", []))
if r.get("date"):
agencies[a]["latest_date"] = max(
agencies[a]["latest_date"] or r["date"],
r["date"],
)
scorecard = []
for agency, m in agencies.items():
scorecard.append({
"agency": agency,
"doc_count": m["documents"],
"exemptions_per_doc": round(m["exemptions"] / max(m["documents"], 1), 2),
"last_release": m["latest_date"],
"transparency_score": min(
100,
m["documents"] * 2 - m["exemptions"]
),
})
return scorecard |