z230
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# download_vault_v1.0 — Stažení source file z Veeva Vault (J&J V-TMF)
|
||||
|
||||
**Verze:** 1.0 · **Datum:** 2026-06-12
|
||||
|
||||
Playwright skript pro stažení source-file dokumentů z Veeva Vault
|
||||
(vtmf.veevavault.com) s perzistentní session, ručním potvrzením 2FA
|
||||
na telefonu a přejmenováním staženého souboru podle VTMF čísla.
|
||||
|
||||
## Co skript dělá
|
||||
|
||||
1. Otevře viditelný maximalizovaný Chromium s perzistentním profilem
|
||||
(`vault_profile/` vedle skriptu) — session přežije běhy, takže po
|
||||
prvním přihlášení už se obvykle přihlašovat nemusí.
|
||||
2. Otevře J&J SSO login URL a vyplní jméno + heslo.
|
||||
3. Pokud SSO vyžaduje mobilní ověření (2FA), skript se **zastaví** a
|
||||
čeká, až ho potvrdíte v mobilní aplikaci a stisknete ENTER.
|
||||
4. Ověří, že jsme uvnitř Vaultu (URL `vtmf.veevavault.com/ui`), a zavře
|
||||
případné informační okno o údržbě.
|
||||
5. Otevře stránku dokumentu, klikne na ikonu **Source File** (vpravo
|
||||
nahoře, list papíru se šipkou dolů) a stažený soubor uloží do
|
||||
`U:\Dropbox\!!!Days\Downloads Z230\` pod názvem
|
||||
`původní název [VTMF-XXXXXXXX].přípona`, např.
|
||||
`42847922MDD3003---Ongoing Third Party Oversight-31 May 2026 [VTMF-25690359].zip`
|
||||
|
||||
## Instalace
|
||||
|
||||
```powershell
|
||||
pip install -r requirements.txt
|
||||
playwright install chromium
|
||||
```
|
||||
|
||||
## Přihlašovací údaje
|
||||
|
||||
Heslo **není** ve skriptu. Skript čte proměnné prostředí:
|
||||
|
||||
```powershell
|
||||
$env:VAULT_USER = "vbuzalka"
|
||||
$env:VAULT_PASS = "..." # volitelné — bezpečnější je nezadávat
|
||||
```
|
||||
|
||||
Pokud proměnné chybí, skript se zeptá interaktivně (heslo přes
|
||||
`getpass`, nezobrazuje se). Doporučení: heslo zadávat interaktivně,
|
||||
neukládat ho do prostředí ani do souborů.
|
||||
|
||||
## Spuštění
|
||||
|
||||
```powershell
|
||||
python download_vault_v1.0.py
|
||||
```
|
||||
|
||||
**První běh:** zobrazí se login formulář, skript vyplní údaje, vy
|
||||
potvrdíte 2FA na telefonu a stisknete ENTER. Profil se uloží do
|
||||
`vault_profile/`, takže **další běhy** by měly jet rovnou bez
|
||||
přihlášení (dokud session nevyprší — pak se login + 2FA zopakuje).
|
||||
|
||||
Na konci běhu skript čeká na ENTER, teprve pak zavře prohlížeč
|
||||
(abyste si mohli stav zkontrolovat).
|
||||
|
||||
## Konfigurace (konstanty nahoře ve skriptu)
|
||||
|
||||
- `LOGIN_URL` — J&J SSO startSSO.ping URL cílící na vtmf.veevavault.com
|
||||
- `PROFILE_DIR` — perzistentní Chromium profil (`vault_profile/`)
|
||||
- `DOWNLOAD_DIR` — `U:\Dropbox\!!!Days\Downloads Z230`
|
||||
- `DOCUMENTS` — seznam dvojic `(url_dokumentu, vtmf_cislo)`; zatím jeden
|
||||
testovací dokument, připraveno na fázi 2 (načítání seznamu z Excelu)
|
||||
|
||||
## Známé body k dořešení (fáze 2)
|
||||
|
||||
- Ověřit selektor `[title='Source File']` na různých typech dokumentů.
|
||||
- Dokumenty s dropdownem (Source File + Viewable Rendition) — základní
|
||||
ošetření přes `menuitem` je ve skriptu, chce ověřit na reálném případu.
|
||||
- Načítání seznamu URL + VTMF čísel z Excelu (`openpyxl`) a smyčka přes
|
||||
všechny dokumenty (struktura `DOCUMENTS` je na to připravená).
|
||||
Reference in New Issue
Block a user