from pathlib import Path
p=Path('/opt/struktur/social-media-agent/publish_ready.py'); s=p.read_text()
old=''' item["current_variants"] = sorted(eligible_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)'''
new=''' item["current_variants"] = sorted(eligible_groups.get(latest_group, []), key=lambda v: v.get("variant_order", 0)) if latest_group else []
for display_no, variant in enumerate(item["current_variants"], 1):
variant["display_order"] = display_no
legacy_groups = []
for group_id, group_variants in groups.items():
if group_id == latest_group or group_id in eligible_groups and group_id == latest_group:
continue
ordered = sorted(group_variants, key=lambda v: v.get("variant_order", 0))
for display_no, variant in enumerate(ordered, 1):
variant["display_order"] = display_no
label = max((v.get("created_at", "") for v in ordered), default="") or "ohne Datum"
legacy_groups.append({"group_id": group_id, "label": label, "variants": ordered})
legacy_groups.sort(key=lambda g: g["label"], reverse=True)
item["legacy_groups"] = legacy_groups
item["legacy_variants"] = [v for group in legacy_groups for v in group["variants"]]
item["media_status"] = media_status_label(item)'''
assert s.count(old)==1; p.write_text(s.replace(old,new)); print('view display indices assigned per group')