Explorer
/proc/118/root/tmp/fix_variant_view_numbers.py
← Zurück ↓ Download
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')