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)
