This commit is contained in:
2026-06-05 21:21:30 +02:00
parent 1ec9e40196
commit a347051145
28 changed files with 7402 additions and 0 deletions
@@ -0,0 +1,41 @@
# 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
```