1.8 KiB
1.8 KiB
forward_offer_outlook_v1.1.py
Verze: 1.1 · Datum: 2026-06-16
JNJ-native skript (pywin32 / MAPI). Pro daného lékaře vytvoří skutečný Outlook Forward jeho původní úvodní nabídky (zachová originál včetně data 31.05.2026, formátování i hlavičky).
Změna oproti v1.0
- Primárně hledá zprávu přímo podle jednoznačného
EntryID(MAPI) přesNamespace.GetItemFromID(entry_id, store_id)→ nalezení „na první dobrou", nulová nejednoznačnost. EntryIDse bere z JNJ SQLite (messages.entry_id). Pro Huštáka je už předvyplněný vTARGETS.- Fallback (když EntryID nesedne) = původní heuristika subjekt + datum 31.05.2026 + příjemce To.
Spuštění (JNJ stroj s Outlookem)
pip install pywin32
python forward_offer_outlook_v1.1.py
Konfigurace
TARGETS— list{"email", "entry_id"}. Defaultně jen Hušták (ostatní zakomentované; doplň jim EntryID ze SQLite, jinak poběží fallback).CC_RECIPIENTS— Kocourková + Bartošová.ADD_INTRO/INTRO_HTML— krátký úvod nad forwardem (False= čistý forward).ACTION—display(default, jen otevře) /draft/send.
Kde vzít EntryID dalších lékařů
JNJ SQLite, tabulka messages:
SELECT entry_id, subject, received_at, source
FROM messages
WHERE source LIKE '%<FC...msg-nazev>%';
(message_id je tam uložený jako entryid: + EntryID; sloupec entry_id
obsahuje čistý EntryID. Internet Message-ID <…@…> v datech NENÍ —
.msg jsou X-Unsent drafty, RFC Message-ID přiděluje až Exchange při odeslání.)
Pozn.
GetItemFromIDzkusí variantu sestore_idi bez něj.displaynevyvolá Outlookový „program se snaží odeslat" dialog.- Když se nenajde ani EntryID, ani jednoznačný fallback → lékaře přeskočí.