Files
2026-10-30 10:46:26 +00:00

60 lines
2.0 KiB
Python

#!/usr/bin/env python3
import importlib.util, re
SPEC = importlib.util.spec_from_file_location("qe", "/root/troupe-standup/wizard-work/ledger/queue-extract.py")
qm = importlib.util.module_from_spec(SPEC)
SPEC.loader.exec_module(qm)
content = open("/root/troupe-standup/WORK-QUEUE.md", encoding="utf-8").read()
lines, trailing = qm.split_lines(content)
fenced = qm.fence_mask(lines)
HEADING = qm.HEADING
ID_TOKEN = qm.ID_TOKEN
record_form = qm.record_form
# replicate first_record + later + boundaries
first_record = {}
for i, ln in enumerate(lines, 1):
if i in fenced:
continue
for m in ID_TOKEN.finditer(ln):
qid = m.group(0)
if qid not in first_record:
frm = record_form(ln, qid)
if frm:
first_record[qid] = (i, frm)
first_record_keys = {(qid, line) for qid, (line, frm) in first_record.items()}
print("first_record:")
for k, v in sorted(first_record.items()):
print(" ", k, v)
later = []
for i, ln in enumerate(lines, 1):
if i in fenced or not ln.startswith("**"):
continue
prev = lines[i - 2].strip() if i >= 2 else ""
if prev != "" and prev != "---" and not prev.startswith("<!--"):
continue
for qid in ID_TOKEN.findall(ln):
frm = record_form(ln, qid)
if frm == "BOLD-LEAD" and qid in first_record:
later.append((i, qid, frm))
break
print("later:")
for x in later:
print(" ", x)
boundaries = sorted({h[0] for h in lines if False} | set())
# headings
headings = []
for i, ln in enumerate(lines, 1):
if i in fenced:
continue
m = HEADING.match(ln)
if m:
headings.append((i, m.group(1)))
print("headings near 12200-12270:")
for h in headings:
if 12200 <= h[0] <= 12270:
print(" ", h)
b = sorted({h[0] for h in headings} | {r[0] for r in first_record.values()} | {r[0] for r in later})
print("boundaries near 12200-12270:", [x for x in b if 12200 <= x <= 12270])
print("all boundaries after 12244:", [x for x in b if x > 12244][:5])