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

2.1 KiB

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).