Files
janssen/Feasibility/77242113UCO2001/fix_email_podruhe_v1.0.py
T
2026-06-10 11:59:19 +02:00

56 lines
1.9 KiB
Python

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