Files
janssen/Feasibility/analyze_sent_suspects_v1.0.md
T
2026-06-17 15:05:10 +02:00

33 lines
1.4 KiB
Markdown

# analyze_sent_suspects_v1.0.py
**Verze:** 1.0 · **Datum:** 2026-06-16
Lokální (Z230) analyzátor `.msg` přenesených z JNJ (výstup
`jnj_scan_failed_sent`). Přes **olefile** projde všechny `.msg` ve složce,
u každého vytáhne klíčové MAPI vlastnosti a klasifikuje, zda jde o **neodeslaný**
e-mail. Výstup = přehled do konzole + timestampovaný `.xlsx`.
## Klasifikace
- **FAIL_BODY** — tělo/report obsahuje „could not be sent" / „SendAsDenied" / …
- **SENDAS_BUZ** — send-account / SentRepresenting / Sender obsahuje `buzalka.cz`
- **NO_MSGID** — chybí Internet Message-ID (0x1035)
- `failed = ANO`, pokud FAIL_BODY nebo SENDAS_BUZ (skoro jisté neodeslání).
Vytáhne i **příjemce-lékaře** (externí adresa, ne `its.jnj.com`), subjekt,
send-account a Message-ID. Datum bere z názvu souboru (`..._YYYY-MM-DD_...`).
## Spuštění
```
python analyze_sent_suspects_v1.0.py [SLOZKA_S_MSG]
```
- Bez argumentu použije `INPUT_DIR` (default
`U:\Dropbox\!!!Days\Downloads Z230\sent_suspects`).
- `.xlsx` se uloží do `U:\Dropbox\!!!Days\Downloads Z230\`.
- Vyžaduje `olefile` + `openpyxl` (jsou ve venv `U:\janssen\.venv`).
## Po analýze (další krok)
Seznam příjemců s `failed=ANO` = lékaři, kterým **úvodní nabídka nedorazila**.
Cross-ref na `feasibility.investigators` ukáže, komu (a v jakém KROK) je třeba
poslat nabídku znovu — **se správným From `vbuzalka@its.jnj.com`**.
"""