z230
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# -*- 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()
|
||||
Reference in New Issue
Block a user