# 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
```
