notebook
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# 3_download_attachments_v1.3.py
|
||||
|
||||
**Krok 3 pipeline** — stahuje skutečné přílohy (`is_inline=False`) z Mongo emailů přes Graph API do `/mnt/Emails/<schránka>/Attachments/`. Deduplikace podle **SHA256** obsahu:
|
||||
- stejný hash → soubor už existuje → přeskočí
|
||||
- kolize názvu (stejný název, jiný hash) → `faktura_2.pdf`, `faktura_3.pdf` …
|
||||
|
||||
Po uložení doplní do Mongo `file_hash` + `local_path` a aktualizuje kolekci `emaily.attachments_index` (`_id`=hash, filename, path, size, mime, mailbox, ref_count). Emaily kde mají všechny přílohy `file_hash` → skip → **bezpečné opakovat**.
|
||||
|
||||
## Argumenty
|
||||
|
||||
| Argument | Povinný | Hodnoty | Default | Popis |
|
||||
|---|---|---|---|---|
|
||||
| `--mailbox` | **ne** | e-mail | (všechny) | Schránka = kolekce v Mongo. **Bez argumentu projede všechny** kolekce v `emaily` mimo `SKIP_MAILBOXES` a systémové (`attachments_index`, `sync_state`) |
|
||||
| `--limit N` | ne | int | 0 (bez limitu) | Zpracuje jen prvních N emailů **per schránka** (test) |
|
||||
| `--force-recheck` | ne | flag | false | Znovu ověří i už stažené přílohy |
|
||||
| `--no-indexes` | ne | flag | false | Nevytváří indexy na konci |
|
||||
|
||||
## SKIP_MAILBOXES (hardcoded)
|
||||
|
||||
| Schránka | Důvod |
|
||||
|---|---|
|
||||
| `vbuzalka@its.jnj.com` | JNJ tenant, nemáme Graph API přístup. Při běhu bez `--mailbox` se tiše přeskočí. S explicitním `--mailbox vbuzalka@its.jnj.com` skript skončí exit kódem 2. |
|
||||
|
||||
## Varianty volání
|
||||
|
||||
```bash
|
||||
# VŠECHNY schránky (mimo SKIP_MAILBOXES):
|
||||
docker exec -it python-runner python /scripts/3_download_attachments_v1.3.py
|
||||
|
||||
# Jedna schránka interaktivně:
|
||||
docker exec -it python-runner python /scripts/3_download_attachments_v1.3.py --mailbox ordinace@buzalkova.cz
|
||||
|
||||
# Test 50 emailů:
|
||||
docker exec -it python-runner python /scripts/3_download_attachments_v1.3.py --mailbox ordinace@buzalkova.cz --limit 50 --no-indexes
|
||||
|
||||
# Force-recheck (znovu ověří všechny):
|
||||
docker exec -it python-runner python /scripts/3_download_attachments_v1.3.py --mailbox ordinace@buzalkova.cz --force-recheck
|
||||
|
||||
# Na pozadí, log do souboru:
|
||||
docker exec -d python-runner bash -c "python /scripts/3_download_attachments_v1.3.py --mailbox ordinace@buzalkova.cz > /scripts/download_attachments.log 2>&1"
|
||||
```
|
||||
|
||||
## Sledování průběhu
|
||||
|
||||
```bash
|
||||
docker exec -it python-runner tail -f /scripts/download_attachments.log
|
||||
```
|
||||
Reference in New Issue
Block a user