# extra/weekly_commits_table.py import os, subprocess, datetime as dt NAMES = ["chenyu","George Hotz","nimlgen","qazal","wozeparrot"] REPO = os.environ.get("REPO_PATH",".") today = dt.date.today() days = [(today - dt.timedelta(i)).strftime("%Y-%m-%d") for i in range(6,-1,-1)] seen = {d:{n:False for n in NAMES} for d in days} cmd = ["git","-C",REPO,"log","--use-mailmap","--since=7 days ago","--no-merges", "--date=short","--pretty=%ad%x09%aN%x09%ae"] out = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines() for line in out: try: d, name, email = line.split("\t") except: continue if d in seen: low = (name+" "+email).lower() for n in NAMES: if n.lower() in low: seen[d][n] = True # --- width-aware padding so emoji align --- try: from wcwidth import wcswidth as _wcswidth vlen = lambda s: _wcswidth(s) except Exception: vlen = lambda s: sum(2 if ch in "✅❌" else 1 for ch in s) pad = lambda s,w: s + " " * max(0, w - vlen(s)) w_date = 10 w_cols = [max(3, vlen(n)) for n in NAMES] header = " | ".join([pad("date", w_date)] + [pad(n, w_cols[i]) for i,n in enumerate(NAMES)]) rule = "-+-".join(["-"*w_date] + ["-"*w for w in w_cols]) rows=[] for d in days: cells = ["✅" if seen[d][n] else "❌" for n in NAMES] rows.append(" | ".join([pad(d, w_date)] + [pad(c, w_cols[i]) for i,c in enumerate(cells)])) print("** Commits by day (last 7) **") print("```") print("\n".join([header, rule] + rows)) print("```")