1.9 KiB
1.9 KiB
5_enrich_fulltext_emails_v1.2.py
Krok 5 pipeline — vytáhne plný text z emailů v MongoDB (db: emaily) a uloží do PostgreSQL (db: MongoEmaily, tabulka: emails) s GIN tsvector indexem (config soubory — simple + unaccent).
Emaily se nestahují znovu — tělo už je v Mongo z kroků 1/2/4. Tento skript jen vybere první dostupné tělo podle priority a pošle text do PG na fulltext.
Priorita zdroje těla (body_source)
smime—smime_body_text/smime_body_html(pokud unwrap proběhl)html—body_htmltext—body_text(z parse v1.4 nebo refetch v1.0)preview—body_preview(fallback)
Názvy vnitřních S/MIME příloh (smime_inner_attachments) jdou do attachments_summary — dohledatelné přes MCP emaily.find_attachment.
Inkrementalita
Pokud (mailbox, message_id) v PG existuje, extractor_version je aktuální (1.2) a modified_at v Mongo není novější → skip. Při bumpu EXTRACTOR_VERSION se vše přeparsuje.
Argumenty
| Argument | Povinný | Hodnoty | Default | Popis |
|---|---|---|---|---|
--mailbox |
ne | (všechny) | Jedna konkrétní schránka | |
--limit N |
ne | int | (bez limitu) | Limit emailů na schránku (test) |
Varianty volání
# Všechny schránky:
docker exec -it python-runner python /scripts/5_enrich_fulltext_emails_v1.2.py
# Jedna schránka:
docker exec -it python-runner python /scripts/5_enrich_fulltext_emails_v1.2.py --mailbox ordinace@buzalkova.cz
# Test 500 emailů:
docker exec -it python-runner python /scripts/5_enrich_fulltext_emails_v1.2.py --mailbox ordinace@buzalkova.cz --limit 500
# Plný běh na pozadí, log do souboru:
docker exec -d python-runner bash -c "python /scripts/5_enrich_fulltext_emails_v1.2.py > /scripts/enrich.log 2>&1"
Sledování průběhu
docker exec -it python-runner tail -f /scripts/enrich.log