from pathlib import Path
p=Path('/opt/struktur/social-media-radar/og_backfill.py')
t=p.read_text()
old='from intake.og_fetch import fetch_og_image\n'
new='from intake.og_fetch import fetch_og_image\nfrom sma_core.signal_media import SignalMediaRepository\n'
if old not in t: raise SystemExit('import anchor missing')
t=t.replace(old,new,1)
old=''' db.execute(\n """UPDATE signals SET\n image_url = ?,\n image_source = ?,\n image_found = 1,\n final_article_url = ?,\n image_checked_at = ?\n WHERE signal_id = ?""",\n (result["image_url"], result["image_source"],\n result["final_article_url"], now, sid)\n )\n'''
new=''' SignalMediaRepository(db).record_image_success(\n sid, result["image_url"], result["image_source"],\n result["final_article_url"], now\n )\n'''
if old not in t: raise SystemExit('success block missing')
t=t.replace(old,new,1)
old=''' db.execute(\n """UPDATE signals SET\n image_source = ?,\n image_found = 0,\n final_article_url = ?,\n image_checked_at = ?\n WHERE signal_id = ?""",\n (src, result["final_article_url"], now, sid)\n )\n'''
new=''' SignalMediaRepository(db).record_image_miss(\n sid, src, result["final_article_url"], now\n )\n'''
if old not in t: raise SystemExit('miss block missing')
t=t.replace(old,new,1)
Path('/tmp/aa053-og_backfill-media.py').write_text(t)