# 1_parse_emails_graph_v1.4.py

**Krok 1 pipeline** — import emailů z libovolné schránky přes Microsoft Graph API do MongoDB (`emaily.<mailbox>`). Čte všechny složky rekurzivně. Upsert podle Message-ID → bezpečné přerušit a opakovat.

## Argumenty

| Argument | Povinný | Hodnoty | Default | Popis |
|---|---|---|---|---|
| `--mailbox` | ano | e-mail | — | Schránka = název kolekce v Mongo |
| `--mode` | ne | `full` / `new-only` / `sync` | `full` | `full` = plný upsert; `new-only` = jen nové; `sync` = aktualizuje `is_read`/`flag_status`/`categories`/`folder_path` u existujících + importuje nové |
| `--folder` | ne | název složky | (všechny) | Jen jedna složka (např. `Inbox`) |
| `--limit N` | ne | int | 0 (bez limitu) | Zpracuje jen prvních N zpráv (test) |
| `--no-indexes` | ne | flag | false | Nevytváří indexy na konci |

## Varianty volání

```bash
# První plný import schránky (vše):
docker exec -it python-runner python /scripts/1_parse_emails_graph_v1.4.py --mailbox ordinace@buzalkova.cz

# Test na 50 zprávách bez vytváření indexů:
docker exec -it python-runner python /scripts/1_parse_emails_graph_v1.4.py --mailbox ordinace@buzalkova.cz --limit 50 --no-indexes

# Jen nové emaily (po prvním importu):
docker exec -it python-runner python /scripts/1_parse_emails_graph_v1.4.py --mailbox ordinace@buzalkova.cz --mode new-only

# Pravidelný sync (nové + aktualizace flagů u existujících) na pozadí, log do souboru:
docker exec -d python-runner bash -c "python /scripts/1_parse_emails_graph_v1.4.py --mailbox ordinace@buzalkova.cz --mode sync > /scripts/parse_emails.log 2>&1"

# Import jen složky Inbox:
docker exec -it python-runner python /scripts/1_parse_emails_graph_v1.4.py --mailbox ordinace@buzalkova.cz --folder Inbox

# Test 10 emailů z konkrétní složky:
docker exec -it python-runner python /scripts/1_parse_emails_graph_v1.4.py --mailbox ordinace@buzalkova.cz --folder "Sent Items" --limit 10
```

## Sledování průběhu

```bash
docker exec -it python-runner tail -f /scripts/parse_emails.log
```
