# -*- 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()