Add Outlook/Soubory/Clario/Feasibility scripts and reports; ignore Incoming, Outlook downloads & profile
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# download_all_inbox_eml_v1.0
|
||||
|
||||
**Verze:** 1.0
|
||||
**Datum:** 2026-06-03
|
||||
|
||||
## Cíl
|
||||
Stáhnout zprávy z Outlook Inboxu jako `.eml` soubory.
|
||||
|
||||
## Klíčový princip — virtualizovaný seznam
|
||||
OWA drží v DOM jen ~16 viditelných řádků. `nth(19)` proto nefunguje.
|
||||
Řešení: **navigace klávesnicí** — vybrat první zprávu a opakovaně mačkat
|
||||
`ArrowDown`. Outlook sám scrolluje a dorenderovává. Aktuálně vybraná zpráva
|
||||
je vždy `[role="option"][aria-selected="true"]`.
|
||||
|
||||
### Oddělovače sekcí (Today / Yesterday / This week)
|
||||
Jsou to `role="button"` `aria-expanded` prvky, ne zprávy. Když na nich kurzor
|
||||
po `ArrowDown` zastaví, **žádná** zpráva nemá `aria-selected`
|
||||
(`selected.count() == 0`). Takový krok se musí jen přeskočit (`ArrowDown` dál),
|
||||
NEpočítat jako zprávu a NEukončovat smyčku. Konec seznamu se pozná až podle
|
||||
toho, že se `aria-label` vybrané zprávy přestane měnit (`no_progress`).
|
||||
|
||||
Alternativa: v OWA přepnout řazení na "Show as Messages" (bez seskupení podle
|
||||
data) — pak seznam žádné oddělovače nemá.
|
||||
|
||||
## Postup
|
||||
1. Otevře OWA z persistent profilu (`outlook_profile/`).
|
||||
2. Přejde do Inboxu.
|
||||
3. Vybere první zprávu.
|
||||
4. Smyčka: stáhne vybranou (pravý klik → Download → Download as EML) →
|
||||
`ArrowDown` → opakuje, dokud se výběr přestane hýbat (= konec seznamu).
|
||||
|
||||
## Nastavení (v hlavičce skriptu)
|
||||
- `LIMIT` — max počet **uložených zpráv** (`None` = celý Inbox). Aktuálně `30`.
|
||||
- `SKIP_EXISTING` — `True` = soubor stejného jména v `downloads/` znovu neuloží;
|
||||
`False` (aktuální) = existující soubor **smaže a uloží nový** (přepis).
|
||||
|
||||
## Výstup
|
||||
`downloads/<název_z_OWA>.eml`. Při kolizi jmen:
|
||||
- `SKIP_EXISTING=False` → starý soubor se smaže a přepíše novým,
|
||||
- `SKIP_EXISTING=True` → soubor se ponechá, nový se neuloží.
|
||||
|
||||
## Spuštění
|
||||
```
|
||||
python download_all_inbox_eml_v1.0.py
|
||||
```
|
||||
|
||||
## Poznámky / omezení
|
||||
- Celý Inbox (tisíce zpráv) přes UI je pomalý a křehký — pro velký objem
|
||||
nejdřív zúžit hledáním/filtrem v OWA. `LIMIT=30` je rozumný test.
|
||||
- `SKIP_EXISTING` nešetří čas: identitu zprávy známe až z názvu **po** stažení,
|
||||
takže pravý klik + download proběhne pro každou zprávu; jen se nepřepíše soubor.
|
||||
- Konec seznamu se pozná tak, že se `aria-label` vybrané zprávy přestane měnit
|
||||
(počítadlo `no_progress`, práh `NO_PROGRESS_MAX = 4`).
|
||||
- Okno se po doběhnutí nezavře, čeká na Enter.
|
||||
Reference in New Issue
Block a user