sundeep-news-scan/_probe_fake2.py

22 lines
950 B
Python

import sys, json, contextlib, io
sys.path.insert(0, ".")
from pathlib import Path
import smart_extractor as se
from _lines import separator_barriers
D = Path("output/AndhraJyothi_Siddipet District_20260602_20260603_144919/pages")
png = D / "page_001.png"
regs0 = json.loads((D / "page_001.regions.json").read_text())["regions"]
with contextlib.redirect_stdout(io.StringIO()):
regs = se.drop_masthead_regions(regs0, "andhra_jyothi", 1, png)
ds = se.find_article_starts_by_dateline(regs, str(png), "andhra_jyothi")
bars = separator_barriers(str(png), regs)
bl = se.cluster_all_article_blocks(regs, dateline_starts=ds, sep_lines=bars)
print("bars near y=1375:", [b for b in bars if 1300 < b["y"] < 1450])
print()
dl_ids = {s["region_id"] for s in ds}
for b in sorted(bl, key=lambda b: (b["bbox"][1], b["bbox"][0])):
kind = b["kind"]
print(f" {kind} anchor={b['anchor_id']:>3} bbox={b['bbox']} members={sorted(b['members'])}")