48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
# 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
|
|
```
|