Files
janssen/Feasibility/sipiq_download_v2.1.md
2026-06-19 14:28:54 +02:00

54 lines
2.1 KiB
Markdown

# sipiq_download_v2.1
**Verze:** 2.1 · **Datum:** 2026-06-19
## Co dělá
Automaticky stáhne SIPIQ survey report (CSV) z Qualtrics přes **Playwright** a
volitelně rovnou naimportuje do Mongo.
1. Přihlásí se (username/password) na login.qualtrics.com.
2. Otevře Data & Analysis studie 77242113UCO3002 (`SV_9AdeNaNyohp5fNQ`).
3. Export & Import → Export Data → CSV → Download (zachyceno `expect_download`).
4. Uloží s timestampem do `U:\Dropbox\!!!Days\Downloads Z230\`.
5. **`--import`** → spustí `sipiq_import_v1.3.py --csv "<soubor>"` (delta import
do Mongo, soubor NEpřesouvá).
## Proč Playwright (a ne API)
Účet `77242113uco3002_sipiq` **nemá povolené API**. Interní UI export běží jen na
session cookies a vrací interní `fileUrl` (`riptooth.service.consul:9000`)
nedostupný zvenčí → čistě `requests` soubor nestáhne. Playwright se přihlásí sám
(řeší expiraci session). Verze 1.0 (requests/API) i 2.0 (bez `--import`) v `TRASH`.
## Konfigurace (root `.env`)
```
QUALTRICS_USER=77242113uco3002_sipiq
QUALTRICS_PASS=77242113uco3002_sipiq
```
Fallback na zabudované hodnoty, pokud `.env` chybí.
## Použití
```
PY=U:\PythonProject\Janssen\.venv\Scripts\python.exe
# jen stáhnout (headed okno)
"%PY%" sipiq_download_v2.1.py
# stáhnout + import do Mongo, bez okna (scheduler)
"%PY%" sipiq_download_v2.1.py --headless --import
# stáhnout + náhled importu (nic nezapíše)
"%PY%" sipiq_download_v2.1.py --headless --import --dry-run
# scope all (default czsk)
"%PY%" sipiq_download_v2.1.py --headless --import --scope all
```
- Profil prohlížeče: `Feasibility\qualtrics_profile\` (persistent, gitignored) →
po prvním přihlášení se login přeskakuje.
- Při chybě stahování se uloží screenshot `_dl_99_error.png`.
## Ověřeno 19JUN2026
- Stažení: 247 sloupců, 3 hlavičky, 323 odpovědí, 498 110 B = shodné s ručním
exportem. Modal defaulty sedí: CSV + Download all fields + Export labels.
- Řetězení `--import`: download → `sipiq_import_v1.3 --csv` proběhlo (18 CZ+SK,
delta beze změny=18 = idempotentní; `--dry-run` nic nezapsal).