from pathlib import Path
p=Path('/opt/struktur/social-media-agent/publish_ready.py'); s=p.read_text()
old=''' item["variants"] = [dict(v) for v in variants]
item["media_status"] = media_status_label(item)'''
new=''' item["variants"] = [dict(v) for v in variants]
groups = {}
for variant in item["variants"]:
groups.setdefault(variant["generation_group_id"], []).append(variant)
latest_group = max(groups, key=lambda key: max((v.get("created_at", "") for v in groups[key]), default="")) if groups else None
item["current_variants"] = sorted(groups.get(latest_group, []), key=lambda v: v.get("variant_order", 0)) if latest_group else []
item["legacy_variants"] = [v for v in item["variants"] if v not in item["current_variants"]]
item["media_status"] = media_status_label(item)'''
assert s.count(old)==1; p.write_text(s.replace(old,new)); print('split current and legacy variants')