# 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. **`smime`** — `smime_body_text` / `smime_body_html` (pokud unwrap proběhl) 2. **`html`** — `body_html` 3. **`text`** — `body_text` (z parse v1.4 nebo refetch v1.0) 4. **`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 | e-mail | (všechny) | Jedna konkrétní schránka | | `--limit N` | ne | int | (bez limitu) | Limit emailů na schránku (test) | ## Varianty volání ```bash # 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 ```bash docker exec -it python-runner tail -f /scripts/enrich.log ```