Explorer
/proc/114/root/tmp/fix_experience_provenance.py
← Zurück ↓ Download
from pathlib import Path
p=Path('/opt/struktur/social-media-agent/publish_ready.py'); s=p.read_text()
old='''        "signal_id": experience["experience_id"], "experience_id": experience["experience_id"], "source_type": "mas_experience",
        "source_name": "MAS Experience Pool", "source_url": "", "provenance_path": _text(experience.get("source_ref")),'''
new='''        "signal_id": experience["experience_id"], "experience_id": experience["experience_id"], "source_type": "mas_experience",
        "content_hash": _text(experience.get("canonical_key")), "url_hash": _text(experience.get("canonical_key")),
        "source_name": "MAS Experience Pool", "source_url": "", "provenance_path": _text(experience.get("source_ref")),'''
assert s.count(old)==1; s=s.replace(old,new)
old='''"provenance_json": json.dumps({"source_name": _text(signal.get("source_name")), "source_platform": _text(signal.get("source_platform")), "provenance_path": _text(signal.get("provenance_path")), "evergreen": bool(signal.get("evergreen"))}, ensure_ascii=False),'''
new='''"provenance_json": json.dumps({"source_name": _text(signal.get("source_name")), "source_type": _text(signal.get("source_type")), "source_platform": _text(signal.get("source_platform")), "provenance_path": _text(signal.get("provenance_path")), "evergreen": bool(signal.get("evergreen"))}, ensure_ascii=False),'''
assert s.count(old)==1; s=s.replace(old,new)
p.write_text(s); print('experience provenance and canonical identity wired')