# -*- coding: utf-8 -*-
# =============================================================================
# Nazev:   fix_email_podruhe_v1.0.py
# Verze:   1.0
# Datum:   2026-06-10
# Popis:   U center v KROK 1, jejichz STATUS obsahuje "Email odeslán podruhé",
#          nahradi tento text za "1. připomínka odeslaná" (= 2. email byl
#          fakticky 1. pripominka). Po zapisu spustit classify_krok --apply
#          (centra prejdou na KROK 2). Idempotentni.
# Pouziti: python fix_email_podruhe_v1.0.py            (dry-run)
#          python fix_email_podruhe_v1.0.py --apply     (zapise)
# =============================================================================

import os
import sys
from pymongo import MongoClient

MONGO_URI = os.environ.get("MONGO_URI", "mongodb://192.168.1.76:27017")
OLD = "Email odeslán podruhé"
NEW = "1. připomínka odeslaná"


def main():
    apply = "--apply" in sys.argv
    client = MongoClient(MONGO_URI)
    col = client["feasibility"]["investigators"]

    docs = list(col.find(
        {"KROK": {"$regex": "^1"}, "STATUS": {"$regex": "odeslán podruhé"}},
        {"prijmeni": 1, "jmeno": 1, "STATUS": 1},
    ))
    print(f"Nalezeno {len(docs)} center v KROK 1 s '{OLD}'.\n")

    n = 0
    for d in docs:
        status = d.get("STATUS", "") or ""
        new_status = status.replace(OLD, NEW)
        if new_status == status:
            print(f"[SKIP] {d.get('prijmeni')} {d.get('jmeno')}: text nenalezen")
            continue
        print(f"[OK]   {d.get('prijmeni')} {d.get('jmeno')}:")
        print(f"        '{status.splitlines()[0]}' -> '{new_status.splitlines()[0]}'")
        if apply:
            res = col.update_one({"_id": d["_id"]}, {"$set": {"STATUS": new_status}})
            n += res.modified_count

    print()
    if apply:
        print(f">>> ZAPSANO: {n} zaznamu. Ted spust classify_krok_v1.0.py --apply")
    else:
        print(">>> DRY-RUN. Pro zapis spust s --apply")


if __name__ == "__main__":
    main()
