Files
janssen/Python-runner/5_enrich_fulltext_emails_v1.2.md
T
2026-06-05 21:21:30 +02:00

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)

  1. smimesmime_body_text / smime_body_html (pokud unwrap proběhl)
  2. htmlbody_html
  3. textbody_text (z parse v1.4 nebo refetch v1.0)
  4. previewbody_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 e-mail (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