From c2dec96b1fa449a43140204496dab0ca2c57d796 Mon Sep 17 00:00:00 2001 From: lubna-fatima Date: Tue, 16 Jun 2026 14:55:29 +0530 Subject: [PATCH] Initial commit: MISF VOB download and upload automation Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 23 + .gitignore | 41 + README.md | 228 + README_PRODUCTION.txt | 42 + docs/MISF-VOB-Planner-Workflow.docx | Bin 0 -> 549325 bytes docs/PRODUCTION_README.txt | 42 + launcher.py | 53 + pytest.ini | 4 + requirements-build.txt | 3 + requirements.txt | 6 + run_download.py | 49 + scripts/bootstrap_input_xlsx.py | 86 + scripts/build_production_exe.ps1 | 88 + scripts/validate_config.py | 68 + scripts/validate_uipath_pilot.ps1 | 71 + src/__init__.py | 1 + src/checkpoint.py | 51 + src/chrome.py | 891 ++++ src/config.py | 273 ++ src/debug_log.py | 60 + src/log_window.py | 118 + src/logging_setup.py | 68 + src/onedrive_planner.py | 6305 +++++++++++++++++++++++++++ src/planner_download.py | 747 ++++ src/run_log.py | 40 + src/totp_utils.py | 33 + tests/test_attachment_multi.py | 54 + tests/test_attachment_url.py | 100 + tests/test_board_columns.py | 55 + tests/test_chromium_browser.py | 147 + tests/test_config.py | 48 + tests/test_download_config.py | 36 + tests/test_download_summary.py | 105 + tests/test_facility_search.py | 55 + tests/test_grid_view.py | 202 + tests/test_login_helpers.py | 64 + tests/test_nav_helpers.py | 68 + tests/test_planner_tabs.py | 23 + tests/test_run_log.py | 13 + tests/test_task_filter.py | 306 ++ tests/test_task_panel_status.py | 99 + tests/test_totp.py | 29 + tests/test_uipath_pilot.py | 149 + 43 files changed, 10944 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 README.md create mode 100644 README_PRODUCTION.txt create mode 100644 docs/MISF-VOB-Planner-Workflow.docx create mode 100644 docs/PRODUCTION_README.txt create mode 100644 launcher.py create mode 100644 pytest.ini create mode 100644 requirements-build.txt create mode 100644 requirements.txt create mode 100644 run_download.py create mode 100644 scripts/bootstrap_input_xlsx.py create mode 100644 scripts/build_production_exe.ps1 create mode 100644 scripts/validate_config.py create mode 100644 scripts/validate_uipath_pilot.ps1 create mode 100644 src/__init__.py create mode 100644 src/checkpoint.py create mode 100644 src/chrome.py create mode 100644 src/config.py create mode 100644 src/debug_log.py create mode 100644 src/log_window.py create mode 100644 src/logging_setup.py create mode 100644 src/onedrive_planner.py create mode 100644 src/planner_download.py create mode 100644 src/run_log.py create mode 100644 src/totp_utils.py create mode 100644 tests/test_attachment_multi.py create mode 100644 tests/test_attachment_url.py create mode 100644 tests/test_board_columns.py create mode 100644 tests/test_chromium_browser.py create mode 100644 tests/test_config.py create mode 100644 tests/test_download_config.py create mode 100644 tests/test_download_summary.py create mode 100644 tests/test_facility_search.py create mode 100644 tests/test_grid_view.py create mode 100644 tests/test_login_helpers.py create mode 100644 tests/test_nav_helpers.py create mode 100644 tests/test_planner_tabs.py create mode 100644 tests/test_run_log.py create mode 100644 tests/test_task_filter.py create mode 100644 tests/test_task_panel_status.py create mode 100644 tests/test_totp.py create mode 100644 tests/test_uipath_pilot.py diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..17c91d7 --- /dev/null +++ b/.env.example @@ -0,0 +1,23 @@ +# Copy to .env and fill in (do not commit .env) +ONEDRIVE_USERNAME=your.email@example.com +ONEDRIVE_PASSWORD=your_password +MICROSOFT_TOTP_SECRET=your_base32_authenticator_secret + +# Browser: uses chrome-win\chrome-win\chrome.exe by default (bundled Chromium) +# MISF_USE_INSTALLED_CHROME=1 # skip chrome-win, use system Chromium +# CHROMIUM_PATH=C:\full\path\to\chrome.exe +# MISF_BROWSER_FOREGROUND=1 # show browser (default: minimized background) +# MISF_ALLOW_CHROME=1 # allow Google Chrome fallback + +# Optional — Planner grid URL (tenant tid= in query string) +# PLANNER_URL=https://planner.cloud.microsoft/webui/mytasks/assignedtome/view/grid?tid=... + +# Optional +# ONEDRIVE_URL=https://... +# PDF_FOLDER_PATH=C:\path\to\Input\PDFs +# MISF_DEBUG=1 +# MISF_LOG_LEVEL=DEBUG +# PROXY_IP= +# PROXY_PORT= +# PROXY_USERNAME= +# PROXY_PASSWORD= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3111959 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# Build artifacts +build/ +dist/ +_internal/ +*.exe +*.spec + +# Chrome binary +chrome-win/ + +# Input/Output data folders +Input/ +Output/ + +# Python cache +__pycache__/ +*.pyc +*.pyo +*.pyd +.Python +*.egg-info/ +.eggs/ + +# Virtual environments +venv/ +env/ +.env +.venv/ + +# IDE +.vscode/ +.idea/ +*.swp + +# Logs +*.log +logs/ + +# OS +.DS_Store +Thumbs.db diff --git a/README.md b/README.md new file mode 100644 index 0000000..98a708f --- /dev/null +++ b/README.md @@ -0,0 +1,228 @@ +# OneDrive / Planner download-only automation + +Automates the MISF VOB **face-sheet download** workflow: sign in to OneDrive, open Planner, search each facility plan, download attachment PDFs, and mark tasks **In progress**. + +Reference: [`docs/MISF-VOB-Planner-Workflow.docx`](docs/MISF-VOB-Planner-Workflow.docx) + +This repository contains **only** OneDrive / Planner download automation. There is no Noridian Medicare, Medi-Cal, PDF extraction, or eligibility verification code. + +--- + +## Source requirements + +| Doc step | Action | +|----------|--------| +| 1 | Open OneDrive URL, enter username / password, complete MFA (Google Authenticator 6-digit code) | +| 2–4 | Open **Planner** (direct URL in config; default: Assigned to me grid) | +| 5 | For each facility: search/select plan → open tasks → **download attachment PDFs** → set task status **In progress** (board card, or Task details → Status) | + +**Clarifications:** + +- Process **54 facilities** by typing each name into Planner’s **search box**, one at a time. +- MFA via **TOTP secret** in `Input/input.xlsx` (automated with `pyotp`). + +**Not in this repo (upload path from the MISF guide):** + +- Uploading completed work to OneDrive +- Marking tasks **Completed** after eligibility verification + +```mermaid +flowchart TD + start[run_download_workflow] --> config[Read input.xlsx] + config --> chrome[start_chrome_debug + attach_browser] + chrome --> login[Microsoft login + TOTP] + login --> planner[Open Planner / In my plans] + planner --> loop{For each facility} + loop --> search[Search facility in Planner] + search --> dl[Download task attachments] + dl --> status[Mark tasks In progress] + status --> loop + loop --> summary[Log summary + Excel report] +``` + +--- + +## Repository layout + +| File | Role | +|------|------| +| [`run_download.py`](run_download.py) | Main entry point | +| [`src/planner_download.py`](src/planner_download.py) | Orchestrator: config → Chrome → login → facility loop → summary | +| [`src/onedrive_planner.py`](src/onedrive_planner.py) | Selenium: Microsoft login, Planner, downloads, In-Process | +| [`src/config.py`](src/config.py) | `read_app_config()`, `read_facility_list()` | +| [`src/totp_utils.py`](src/totp_utils.py) | TOTP secret sanitization / validation | +| [`scripts/validate_config.py`](scripts/validate_config.py) | Pre-flight config check (no browser) | +| [`src/chrome.py`](src/chrome.py) | Chrome debug startup, Selenium attach, proxy auth | +| [`scripts/bootstrap_input_xlsx.py`](scripts/bootstrap_input_xlsx.py) | Create config template | +| [`tests/test_download_config.py`](tests/test_download_config.py) | Config smoke tests | + +``` +. +├── README.md +├── requirements.txt +├── run_download.py +├── docs/ +├── Input/ +│ ├── input.xlsx.example +│ ├── input.xlsx # gitignored +│ └── PDFs/ +├── Output/ +├── scripts/ +├── tests/ +└── src/ + ├── planner_download.py + ├── onedrive_planner.py + ├── config.py + └── chrome.py +``` + +--- + +## Configuration (`Input/input.xlsx`) + +```powershell +copy Input\input.xlsx.example Input\input.xlsx +copy .env.example .env +``` + +Fill credentials in **either** place: + +- **`Input/input.xlsx`** → Sheet1, column **B** (`OneDrive Username`, `OneDrive Password`, `Microsoft TOTP Secret`), **or** +- **`.env`** in the project root (`ONEDRIVE_USERNAME`, `ONEDRIVE_PASSWORD`, `MICROSOFT_TOTP_SECRET`) + +Check config before running: + +```powershell +python scripts\validate_config.py +``` + +### Sheet `Sheet1` + +| Key | Purpose | +|-----|---------| +| `OneDrive Username` | Microsoft login email | +| `OneDrive Password` | Password | +| `Microsoft TOTP Secret` | Base32 authenticator secret (`pyotp`) | +| `OneDrive URL` | OneDrive landing URL | +| `pdf_folder_path` | Download root (default: `Input/PDFs`) | +| `Proxy IP` / `Proxy Port` / `Proxy Username` / `Proxy Password` | Optional | + +### Sheet `Facilities` — **put all 54 facility names here** + +Open **`Input/input.xlsx`** (not the `.example` file) and edit the **`Facilities`** sheet: + +| Column | Purpose | +|--------|---------| +| `Facility Name` | **One row per facility** (54 rows). Use the exact text you type in Planner search. | + +Example: + +| Facility Name | +|---------------| +| Amaya | +| Brighton Place San Diego | +| … (52 more rows) | + +The bot reads this sheet via `read_facility_list()` in `src/config.py`. For a first test, keep only **2 rows** and run `python run_download.py --limit 2`. + +--- + +## Production `.exe` (double-click) + +Build a Windows folder you can copy to any PC: + +```powershell +powershell -ExecutionPolicy Bypass -File scripts\build_production_exe.ps1 +``` + +Output at **project root**: `MISF_VOB_Download.exe` and `_internal\` (same folder as `Input/`, `Output/`, `run_download.py`). + +**Deploy:** zip the project folder (omit `.venv`, `build`, `src` if you only ship the exe build). On the target machine: + +1. Unzip anywhere +2. Copy `Input\input.xlsx.example` → `Input\input.xlsx` and configure credentials + facilities +3. Double-click `MISF_VOB_Download.exe` + +Config, `Input/`, and `Output/` are read from the **project root** (folder containing the `.exe`). See [`README_PRODUCTION.txt`](README_PRODUCTION.txt) after build. + +--- + +## Quick start + +```powershell +python -m venv .venv +.\.venv\Scripts\Activate.ps1 +pip install -r requirements.txt +copy Input\input.xlsx.example Input\input.xlsx +# Edit Input\input.xlsx + +python run_download.py --limit 2 # dry-run (first N facilities) +python run_download.py --facility "Amaya" # single facility +python run_download.py --resume # continue after last checkpoint +python run_download.py --keep-browser # leave browser open when done +python run_download.py # full run +``` + +**Outputs:** + +- `Input/PDFs//*.pdf` +- `Output//Summary/Download_Summary_.xlsx` (includes run timestamp and Planner URL) +- `Output//logs/download.log` +- `Output//checkpoint.json` (while a run is in progress; cleared on success) + +Set `MISF_DEBUG=1` in `.env` to enable NDJSON debug traces (`debug-fc545e.log`). + +--- + +## Tests + +```powershell +python -m pytest +python scripts\validate_config.py +``` + +--- + +## Troubleshooting + +| Issue | What to check | +|-------|----------------| +| Login / MFA fails | TOTP secret; system clock (NTP) | +| Facility not found | `Facility Name` matches Planner search | +| No PDFs downloaded | Attachments exist; tune `src/onedrive_planner.py` selectors | +| Proxy errors | Proxy IP/Port in `input.xlsx`; profile `%USERPROFILE%\Automation\ChromiumProfile_MISF_Download` | +| Browser not found | Install [Chromium](https://www.chromium.org/getting-involved/download-chromium/) or set `CHROMIUM_PATH` in `.env` (Google Chrome only with `MISF_ALLOW_CHROME=1`) | +| `ChromeDriver only supports Chrome version 148` / attach fails | Install Chromium matching driver version; driver auto-downloads to `.drivers/` | + +--- + +## Browser + +The automation uses **Chromium only** (minimized in the background by default). It looks for, in order: + +1. `CHROMIUM_PATH` or `BROWSER_PATH` environment variable +2. **`chrome-win/chrome-win/chrome.exe`** (portable bundle at project root — default for production) +3. Bundled **`chromedriver.exe`** in the same folder (no download needed) +4. System Chromium under `Program Files\Chromium`, `%LOCALAPPDATA%\Chromium`, Scoop (`MISF_USE_INSTALLED_CHROME=1` to prefer this over `chrome-win`) +5. Google Chrome only when `MISF_ALLOW_CHROME=1` + +Set `MISF_BROWSER_FOREGROUND=1` to show/maximize the browser window. The production `.exe` runs without a console window; see `Output//logs/download.log`. + +**Chromedriver:** `webdriver-manager` downloads a matching driver. If attach fails, install Chromium that matches your driver or set `CHROMIUM_PATH` explicitly. + +User profile directory: `%USERPROFILE%\Automation\ChromiumProfile_MISF_Download` + +--- + +## UiPath migration + +An equivalent **UiPath Studio (Modern)** project lives in [`uipath/MISF_Planner_Download/`](uipath/MISF_Planner_Download/). Open `project.json` in UiPath Studio. Pre-flight check: + +```powershell +powershell -File scripts\validate_uipath_pilot.ps1 +python -m pytest tests\test_uipath_pilot.py -v +``` + +--- + +Internal MISF / Access Psychology automation. diff --git a/README_PRODUCTION.txt b/README_PRODUCTION.txt new file mode 100644 index 0000000..6321945 --- /dev/null +++ b/README_PRODUCTION.txt @@ -0,0 +1,42 @@ +MISF VOB Download — Production (Windows) +========================================= + +Double-click MISF_VOB_Download.exe to run the full facility download workflow. + +FIRST-TIME SETUP +---------------- +1. Copy Input\input.xlsx.example to Input\input.xlsx +2. Open Input\input.xlsx and fill: + - Sheet1: OneDrive Username, Password, Microsoft TOTP Secret + - Facilities: one facility name per row (Planner search text) +3. Keep chrome-win\chrome-win\ (chrome.exe + chromedriver.exe) in this folder. + Browser starts minimized in background. No separate Chromium install required. +4. Optional: copy .env.example to .env for credentials instead of Excel + +RUN +--- +- Double-click MISF_VOB_Download.exe +- A console window shows progress; press Enter when finished to close +- For scheduled tasks (no pause): set environment variable MISF_NO_PAUSE=1 + +OUTPUT +------ +- Output\\Original\\ — downloaded PDFs +- Output\\Summary\Download_Summary_.xlsx +- Output\\logs\download.log + +OPTIONAL COMMAND-LINE (run from cmd in this folder) +--------------------------------------------------- + MISF_VOB_Download.exe --limit 2 + MISF_VOB_Download.exe --facility "Amaya" + MISF_VOB_Download.exe --resume + +REQUIREMENTS +------------ +- Windows 10/11 +- Network access to Microsoft 365 / Planner +- chrome-win\ folder with portable Chromium (or system Chromium / CHROMIUM_PATH) +- Progress log: Output\\logs\download.log (no console window when using .exe) + +Keep MISF_VOB_Download.exe, _internal, and chrome-win together in the project root +(same directory as Input and Output). diff --git a/docs/MISF-VOB-Planner-Workflow.docx b/docs/MISF-VOB-Planner-Workflow.docx new file mode 100644 index 0000000000000000000000000000000000000000..0757bb6620256940273662dcee7ceeb99a5406fa GIT binary patch literal 549325 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ⅅ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
Kixv_1Ar>4-9__NxNZ2$f-|T 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

Sl)rw$i&JL$xu#gkPZIK7|v=Zd2bDzxo<>gVbF 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\Original\\ — downloaded PDFs +- Output\\Summary\Download_Summary_.xlsx +- Output\\logs\download.log + +OPTIONAL COMMAND-LINE (run from cmd in this folder) +--------------------------------------------------- + MISF_VOB_Download.exe --limit 2 + MISF_VOB_Download.exe --facility "Amaya" + MISF_VOB_Download.exe --resume + +REQUIREMENTS +------------ +- Windows 10/11 +- Network access to Microsoft 365 / Planner +- chrome-win\ folder with portable Chromium (or system Chromium / CHROMIUM_PATH) +- Progress log: Output\\logs\download.log (no console window when using .exe) + +Keep MISF_VOB_Download.exe, _internal, and chrome-win together in the project root +(same directory as Input and Output). diff --git a/launcher.py b/launcher.py new file mode 100644 index 0000000..8c141c1 --- /dev/null +++ b/launcher.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +""" +MISF VOB Download — production entry (PyInstaller / double-click). + +Config, Input/, and Output/ live in the same folder as the .exe. +""" +from __future__ import annotations + +import os +import sys +import traceback +from pathlib import Path + +ROOT = Path(__file__).resolve().parent +SRC = ROOT / "src" +if not getattr(sys, "frozen", False) and str(SRC) not in sys.path: + sys.path.insert(0, str(SRC)) + +from planner_download import build_arg_parser, run_download_workflow # noqa: E402 + + +def _run_workflow() -> int: + exit_code = 0 + try: + args = build_arg_parser().parse_args() + run_download_workflow( + facility_limit=max(0, args.limit), + facility_name=args.facility.strip() or None, + resume=args.resume, + keep_browser=args.keep_browser, + screenshot_on_error=args.screenshot and not args.no_screenshot, + ) + except KeyboardInterrupt: + print("\nCancelled by user.") + exit_code = 130 + except SystemExit as exc: + exit_code = int(exc.code) if exc.code is not None else 0 + except Exception: + traceback.print_exc() + exit_code = 1 + return exit_code + + +def main() -> int: + if getattr(sys, "frozen", False): + from log_window import run_with_live_logs + + return run_with_live_logs(_run_workflow) + return _run_workflow() + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..8a9708a --- /dev/null +++ b/pytest.ini @@ -0,0 +1,4 @@ +[pytest] +testpaths = tests +pythonpath = src +addopts = -q diff --git a/requirements-build.txt b/requirements-build.txt new file mode 100644 index 0000000..ae6536b --- /dev/null +++ b/requirements-build.txt @@ -0,0 +1,3 @@ +# Build-time only (production .exe) +-r requirements.txt +pyinstaller>=6.10 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e25dde6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +pandas==2.2.3 +openpyxl==3.1.5 +selenium==4.27.1 +webdriver-manager==4.0.2 +pyotp==2.9.0 +pytest==8.3.4 diff --git a/run_download.py b/run_download.py new file mode 100644 index 0000000..8207596 --- /dev/null +++ b/run_download.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +""" +MISF VOB — OneDrive / Planner face-sheet download. + +Usage: + python run_download.py + python run_download.py --limit 2 + python run_download.py --facility "Amaya Healthcare" + python run_download.py --resume + python run_download.py --keep-browser +""" +from __future__ import annotations + +import sys +import traceback +from pathlib import Path + +ROOT = Path(__file__).resolve().parent +SRC = ROOT / "src" +if str(SRC) not in sys.path: + sys.path.insert(0, str(SRC)) + +from planner_download import build_arg_parser, run_download_workflow # noqa: E402 + + +def main() -> int: + try: + args = build_arg_parser().parse_args() + run_download_workflow( + facility_limit=max(0, args.limit), + facility_name=args.facility.strip() or None, + resume=args.resume, + keep_browser=args.keep_browser, + screenshot_on_error=args.screenshot and not args.no_screenshot, + ) + return 0 + except KeyboardInterrupt: + print("\nCancelled by user.") + return 130 + except SystemExit as exc: + return int(exc.code) if exc.code is not None else 0 + except Exception: + traceback.print_exc() + print("\nRun failed. See traceback above.", file=sys.stderr) + return 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/bootstrap_input_xlsx.py b/scripts/bootstrap_input_xlsx.py new file mode 100644 index 0000000..1b35b45 --- /dev/null +++ b/scripts/bootstrap_input_xlsx.py @@ -0,0 +1,86 @@ +""" +Create Input/input.xlsx (if missing) and refresh Input/input.xlsx.example. + +Run from repository root: + python scripts/bootstrap_input_xlsx.py +""" +from __future__ import annotations + +from pathlib import Path + +import pandas as pd + +PROJECT_ROOT = Path(__file__).resolve().parent.parent +INPUT_DIR = PROJECT_ROOT / "Input" +CONFIG_PATH = INPUT_DIR / "input.xlsx" +EXAMPLE_PATH = INPUT_DIR / "input.xlsx.example" + +FACILITY_KEYWORDS = [ + "amaya", "brighton place san diego", "brighton place sd", "brighton place spring valley", + "brighton place-spring valley", "granite hill", "anberry", "arbor hills", "bayberry", + "bradley court", "castle manor", "friendship", "gramercy", "kearny", "lakeside", + "newport", "siena", "stanford court", "temecula", "walnut", "balboa", "cottonwood", + "country hills", "la mesa", "university care", "blue oak", "bridgewood", "capistrano", + "eden", "hillcrest heights", "la casa via", "torrey pines", "bradley gardens", "horizon", + "community care", "jacob", "the shores", "valley vista", "valle vista", "golden hill", + "grossmont post acute", "lemon grove", "mission hills", "parkside", "somerset", + "the springs", "victoria", "reo vista", "san diego post acute", "villa las palmas", + "ridgeview", "windsor gardens", "windsor rosewood", +] +FACILITIES = [k.title() for k in FACILITY_KEYWORDS] +FACILITIES.append("REPLACE_WITH_54TH_FACILITY_NAME") + +DEFAULT_PLANNER_URL = ( + "https://planner.cloud.microsoft/webui/mytasks/assignedtome/view/grid" + "?tid=0c15ad2c-19dd-4ded-9cd1-20d344386414" +) + +SHEET1_ROWS = [ + ("Proxy IP", ""), + ("Proxy Port", ""), + ("Proxy Username", ""), + ("Proxy Password", ""), + ("OneDrive Username", ""), + ("OneDrive Password", ""), + ("Microsoft TOTP Secret", ""), + ("Planner URL", DEFAULT_PLANNER_URL), + ( + "OneDrive URL", + "https://netorg393890-my.sharepoint.com/personal/joy_accesspsychology_org" + "/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fjoy%5Faccesspsychology%5Forg%2FDocuments" + "%2FAccess%20Facility%20Spreadsheets3", + ), + ("pdf_folder_path", str(PROJECT_ROOT / "Input" / "PDFs")), +] + + +def _build_workbook() -> tuple[pd.DataFrame, pd.DataFrame]: + sheet1 = pd.DataFrame(SHEET1_ROWS, columns=["Key", "Value"]) + facilities = pd.DataFrame({"Facility Name": FACILITIES}) + return sheet1, facilities + + +def _write(path: Path, sheet1: pd.DataFrame, facilities: pd.DataFrame) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + with pd.ExcelWriter(path, engine="openpyxl") as writer: + sheet1.to_excel(writer, sheet_name="Sheet1", index=False, header=False) + facilities.to_excel(writer, sheet_name="Facilities", index=False) + + +def main() -> None: + sheet1, facilities = _build_workbook() + + _write(EXAMPLE_PATH, sheet1, facilities) + print(f"Wrote template -> {EXAMPLE_PATH} ({len(FACILITIES)} facilities)") + + if CONFIG_PATH.exists(): + print(f"Skipped (already exists): {CONFIG_PATH}") + return + + _write(CONFIG_PATH, sheet1, facilities) + print(f"Created local config -> {CONFIG_PATH}") + print("Edit input.xlsx with your credentials before running run_download.py") + + +if __name__ == "__main__": + main() diff --git a/scripts/build_production_exe.ps1 b/scripts/build_production_exe.ps1 new file mode 100644 index 0000000..8b9fc19 --- /dev/null +++ b/scripts/build_production_exe.ps1 @@ -0,0 +1,88 @@ +# Build MISF_VOB_Download.exe and install at project root (double-click to run). +# Output: \MISF_VOB_Download.exe + _internal\ + +$ErrorActionPreference = "Stop" +$Root = Split-Path -Parent $PSScriptRoot +Set-Location $Root + +Write-Host "=== MISF VOB Download - production build (project root) ===" -ForegroundColor Cyan + +$PortableChrome = Join-Path $Root "chrome-win\chrome-win\chrome.exe" +$PortableDriver = Join-Path $Root "chrome-win\chrome-win\chromedriver.exe" +if (-not (Test-Path $PortableChrome)) { + throw "Portable Chromium not found: $PortableChrome (required for production build)" +} +if (-not (Test-Path $PortableDriver)) { + Write-Warning "Bundled chromedriver missing: $PortableDriver (will download at runtime)" +} else { + Write-Host "Using portable Chromium: $PortableChrome" +} + +if (-not (Test-Path ".venv\Scripts\python.exe")) { + Write-Host "Creating virtual environment..." + python -m venv .venv +} + +$Python = Join-Path $Root ".venv\Scripts\python.exe" +& $Python -m pip install --upgrade pip -q +& $Python -m pip install -r requirements.txt -q +& $Python -m pip install "pyinstaller>=6.10" -q + +Write-Host "Running PyInstaller..." +& $Python -m PyInstaller --noconfirm MISF_VOB_Download.spec +if ($LASTEXITCODE -ne 0) { + throw "PyInstaller failed with exit code $LASTEXITCODE" +} + +$BuiltExe = Join-Path $Root "dist\MISF_VOB_Download.exe" +$BuiltDir = Join-Path $Root "dist\MISF_VOB_Download" +$BuiltDirExe = Join-Path $BuiltDir "MISF_VOB_Download.exe" + +if (Test-Path $BuiltExe) { + Write-Host "Installing one-file build to project root..." + $ExeDest = Join-Path $Root "MISF_VOB_Download.exe" + Get-Process -Name "MISF_VOB_Download" -ErrorAction SilentlyContinue | Stop-Process -Force + Start-Sleep -Seconds 1 + Copy-Item $BuiltExe $ExeDest -Force + Remove-Item $BuiltExe -Force +} elseif (Test-Path $BuiltDirExe) { + Write-Host "Installing folder build to project root..." + $ExeDest = Join-Path $Root "MISF_VOB_Download.exe" + Get-Process -Name "MISF_VOB_Download" -ErrorAction SilentlyContinue | Stop-Process -Force + Start-Sleep -Seconds 1 + $InternalDest = Join-Path $Root "_internal" + + Copy-Item $BuiltDirExe $ExeDest -Force + if (Test-Path $InternalDest) { + Remove-Item $InternalDest -Recurse -Force + } + Move-Item (Join-Path $BuiltDir "_internal") $InternalDest -Force + Remove-Item $BuiltDir -Recurse -Force +} else { + throw "Expected build output not found: $BuiltExe or $BuiltDirExe" +} +$DistFolder = Join-Path $Root "dist" +if (Test-Path $DistFolder) { + $remaining = @(Get-ChildItem $DistFolder -Force -ErrorAction SilentlyContinue) + if ($remaining.Count -eq 0) { + Remove-Item $DistFolder -Force + } +} + +$InputDir = Join-Path $Root "Input" +$OutputDir = Join-Path $Root "Output" +New-Item -ItemType Directory -Force -Path (Join-Path $InputDir "PDFs") | Out-Null +New-Item -ItemType Directory -Force -Path $OutputDir | Out-Null +Copy-Item (Join-Path $Root "docs\PRODUCTION_README.txt") (Join-Path $Root "README_PRODUCTION.txt") -Force + +Write-Host "" +Write-Host "Build complete." -ForegroundColor Green +Write-Host " Run: $ExeDest" +Write-Host "" +Write-Host "First-time setup:" -ForegroundColor Yellow +Write-Host " 1. Copy Input\input.xlsx.example to Input\input.xlsx and fill credentials" +Write-Host " 2. Add facility names on the Facilities sheet" +Write-Host " 3. Keep chrome-win\ next to the .exe" +Write-Host " 4. Double-click MISF_VOB_Download.exe in this folder" +Write-Host "" +Write-Host 'See README_PRODUCTION.txt. Exe is at project root (no dist folder).' diff --git a/scripts/validate_config.py b/scripts/validate_config.py new file mode 100644 index 0000000..2d6baf6 --- /dev/null +++ b/scripts/validate_config.py @@ -0,0 +1,68 @@ +"""Print config status (no browser). Run: python scripts/validate_config.py""" +from __future__ import annotations + +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(ROOT / "src")) + +from config import ( # noqa: E402 + CONFIG_FILE, + DEFAULT_PLANNER_URL, + EXPECTED_FACILITY_COUNT, + credentials_setup_message, + missing_onedrive_credentials, + read_app_config, + read_facility_list, +) +from totp_utils import validate_totp_secret # noqa: E402 + + +def main() -> int: + path = CONFIG_FILE if CONFIG_FILE.exists() else ROOT / "Input" / "input.xlsx.example" + if not path.exists(): + print(f"[FAIL] Missing {path}") + print(" copy Input\\input.xlsx.example Input\\input.xlsx") + return 1 + + cfg = read_app_config(path) + missing = missing_onedrive_credentials( + cfg.onedrive_username, + cfg.onedrive_password, + cfg.microsoft_totp_secret, + ) + if missing and path == CONFIG_FILE: + print("[FAIL] Credentials not configured:") + print(credentials_setup_message(missing)) + return 1 + + try: + validate_totp_secret(cfg.microsoft_totp_secret or "JBSWY3DPEHPK3PXP") + except ValueError as exc: + if cfg.microsoft_totp_secret: + print(f"[FAIL] TOTP secret: {exc}") + return 1 + print(f"[WARN] TOTP not set — format check skipped ({exc})") + + facilities = read_facility_list(path, warn_if_not_expected_count=True) + planner = cfg.planner_url or DEFAULT_PLANNER_URL + if not planner.startswith("https://"): + print(f"[FAIL] Planner URL must be https — got: {planner[:80]}") + return 1 + + print(f"[OK] Config file: {path.name}") + if cfg.onedrive_username: + print(f"[OK] Credentials set for {cfg.onedrive_username}") + else: + print("[OK] Template mode (no credentials in example file)") + print(f"[OK] Planner URL: {planner[:70]}...") + print(f"[OK] PDF folder: {cfg.pdf_folder_path or '(default Input/PDFs)'}") + print(f"[OK] {len(facilities)} facilities (expected {EXPECTED_FACILITY_COUNT})") + if len(facilities) != EXPECTED_FACILITY_COUNT: + print("[WARN] Facility count differs from expected 54 — verify Facilities sheet") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/validate_uipath_pilot.ps1 b/scripts/validate_uipath_pilot.ps1 new file mode 100644 index 0000000..d1bef4d --- /dev/null +++ b/scripts/validate_uipath_pilot.ps1 @@ -0,0 +1,71 @@ +#Requires -Version 5.1 +<# +.SYNOPSIS + Pre-flight validation for UiPath MISF Planner Download pilot (mirrors Python validate_config + output checks). +#> +param( + [string]$ProjectRoot = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path, + [int]$ExpectedFacilities = 54, + [switch]$CheckOutput +) + +$ErrorActionPreference = "Stop" +$configPath = Join-Path $ProjectRoot "Input\input.xlsx" +$uipathProject = Join-Path $ProjectRoot "uipath\MISF_Planner_Download\project.json" +$today = Get-Date -Format "yyyy-MM-dd" + +Write-Host "MISF UiPath pilot validation" +Write-Host "Project root: $ProjectRoot" + +if (-not (Test-Path $configPath)) { + Write-Error "Missing config: $configPath (copy Input\input.xlsx.example)" +} +if (-not (Test-Path $uipathProject)) { + Write-Error "Missing UiPath project: $uipathProject" +} + +# Run Python config validator if available +$pyValidate = Join-Path $ProjectRoot "scripts\validate_config.py" +if (Test-Path $pyValidate) { + Write-Host "Running Python validate_config.py..." + python $pyValidate + if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } +} + +# Verify UiPath workflow files exist +$requiredWorkflows = @( + "Main.xaml", + "01_ReadConfig.xaml", + "02_LoginPlanner.xaml", + "03_ProcessFacility.xaml", + "04_DownloadTaskAttachments.xaml", + "05_SetTaskInProgress.xaml", + "06_WriteSummary.xaml", + "Helpers\GenerateTotp.xaml", + "Helpers\SanitizeFolderName.xaml", + "Selectors\PlannerSelectors.json" +) +$uipathDir = Join-Path $ProjectRoot "uipath\MISF_Planner_Download" +foreach ($wf in $requiredWorkflows) { + $p = Join-Path $uipathDir $wf + if (-not (Test-Path $p)) { + Write-Error "Missing workflow file: $p" + } +} +Write-Host "All UiPath workflow files present." + +if ($CheckOutput) { + $summary = Join-Path $ProjectRoot "Output\$today\Summary\Download_Summary_$today.xlsx" + $original = Join-Path $ProjectRoot "Output\$today\Original" + if (-not (Test-Path $summary)) { + Write-Warning "No summary yet: $summary (run UiPath Main with in_FacilityLimit=2)" + } else { + Write-Host "Summary found: $summary" + } + if (Test-Path $original) { + $pdfCount = (Get-ChildItem -Path $original -Recurse -Filter "*.pdf" -ErrorAction SilentlyContinue).Count + Write-Host "PDFs under Original: $pdfCount" + } +} + +Write-Host "Pilot pre-flight OK." diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..2941540 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1 @@ +"""MISF OneDrive / Planner download automation.""" diff --git a/src/checkpoint.py b/src/checkpoint.py new file mode 100644 index 0000000..1b5d87f --- /dev/null +++ b/src/checkpoint.py @@ -0,0 +1,51 @@ +"""Resume checkpoint for multi-facility download runs.""" +from __future__ import annotations + +import json +from pathlib import Path + + +def load_checkpoint(path: Path) -> dict: + """ + Return checkpoint dict: + - last_completed_index: int + - completed_facilities: list[str] + + Backward compatible with older files. + """ + if not path.is_file(): + return {"last_completed_index": 0, "completed_facilities": []} + try: + data = json.loads(path.read_text(encoding="utf-8")) + return { + "last_completed_index": int(data.get("last_completed_index", 0) or 0), + "completed_facilities": list(data.get("completed_facilities", []) or []), + } + except (json.JSONDecodeError, TypeError, ValueError): + return {"last_completed_index": 0, "completed_facilities": []} + + +def save_checkpoint( + path: Path, + *, + last_completed_index: int, + facility_name: str, + completed_facilities: list[str] | None = None, +) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text( + json.dumps( + { + "last_completed_index": last_completed_index, + "last_facility": facility_name, + "completed_facilities": completed_facilities or [], + }, + indent=2, + ), + encoding="utf-8", + ) + + +def clear_checkpoint(path: Path) -> None: + if path.is_file(): + path.unlink() diff --git a/src/chrome.py b/src/chrome.py new file mode 100644 index 0000000..7ef52d4 --- /dev/null +++ b/src/chrome.py @@ -0,0 +1,891 @@ +"""Chromium (Chrome-compatible) remote-debug startup and Selenium attach.""" +from __future__ import annotations + +import atexit +import json +import os +import re +import shutil +import socket +import subprocess +import sys +import tempfile +import time +import zipfile +from datetime import datetime +from pathlib import Path +from urllib.error import URLError +from urllib.request import urlopen + +from selenium import webdriver +from selenium.common.exceptions import WebDriverException +from selenium.webdriver.chrome.options import Options +from selenium.webdriver.chrome.service import Service +from selenium.webdriver.common.by import By +from selenium.webdriver.common.keys import Keys + +from config import PROJECT_ROOT +from debug_log import write_debug as _agent_log +from run_log import log_step + +_DEBUG_PORT = 9222 +DEBUG_PORT = _DEBUG_PORT +_PROXY_CREDENTIALS: dict[str, str] = {} +_LAST_BROWSER_PATH: str | None = None +_BROWSER_PROCESS: subprocess.Popen | None = None + +USER_DATA_DIR = os.path.join( + os.environ.get("USERPROFILE", str(Path.home())), + "Automation", + "ChromiumProfile_MISF_Download", +) + +_DRIVERS_DIR = PROJECT_ROOT / ".drivers" +_CFT_DOWNLOAD_BASE = "https://storage.googleapis.com/chrome-for-testing-public" +DOWNLOADS_DIR = PROJECT_ROOT / "Input" / "PDFs" +_VERSION_RE = re.compile(r"(\d+\.\d+\.\d+\.\d+)") + +# Microsoft 365 hosts bypass HTTP proxy when split-tunnel is configured. +CHROME_PROXY_BYPASS_OFFICE = ( + "*.office.com;*.office365.com;*.microsoft.com;*.live.com;*.outlook.com;" + "outlook.office.com;outlook.office365.com;login.microsoftonline.com;login.live.com;" + "aadcdn.msauth.net;aadcdn.msftauth.net" +) + + + +def set_default_download_directory(path: Path | str, *, create: bool = False) -> None: + """Set browser download prefs root (used at attach time). Per-facility CDP still applies.""" + global DOWNLOADS_DIR + DOWNLOADS_DIR = Path(path).resolve() + if create: + DOWNLOADS_DIR.mkdir(parents=True, exist_ok=True) + + +def _allow_google_chrome_fallback() -> bool: + return os.environ.get("MISF_ALLOW_CHROME", "").strip().lower() in ("1", "true", "yes") + + +def _portable_chrome_win_roots() -> list[Path]: + return [ + PROJECT_ROOT / "chrome-win" / "chrome-win", + PROJECT_ROOT / "chrome-win", + ] + + +def _portable_chromium_executable() -> str | None: + """Bundled Chromium under project ``chrome-win/`` (preferred for production).""" + for root in _portable_chrome_win_roots(): + for name in ("chrome.exe", "chromium.exe"): + path = root / name + if path.is_file(): + return str(path) + return None + + +def _bundled_chromedriver_for(browser_path: str) -> str | None: + """``chromedriver.exe`` shipped next to portable ``chrome.exe``.""" + if not browser_path: + return None + driver = Path(browser_path).parent / "chromedriver.exe" + if driver.is_file(): + return str(driver) + return None + + +def _installed_chromium_paths() -> list[str]: + """System-installed Chromium (not Google Chrome).""" + local = os.environ.get("LOCALAPPDATA", "") + profile = os.environ.get("USERPROFILE", str(Path.home())) + return [ + r"C:\Program Files\Chromium\Application\chrome.exe", + r"C:\Program Files\Chromium\Application\chromium.exe", + r"C:\Program Files (x86)\Chromium\Application\chrome.exe", + os.path.join(local, r"Chromium\Application\chrome.exe"), + os.path.join(profile, r"scoop\apps\chromium\current\chrome.exe"), + ] + + +def _prefer_installed_chromium() -> bool: + """Skip ``chrome-win/`` and use a system Chromium install instead.""" + return os.environ.get("MISF_USE_INSTALLED_CHROME", "").strip().lower() in ( + "1", + "true", + "yes", + ) + + +def _google_chrome_fallback_paths() -> list[str]: + local = os.environ.get("LOCALAPPDATA", "") + return [ + r"C:\Program Files\Google\Chrome\Application\chrome.exe", + r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe", + os.path.join(local, r"Google\Chrome\Application\chrome.exe"), + ] + + +def find_chromium_executable() -> str | None: + """ + Resolve Chromium only (Google Chrome is opt-in via ``MISF_ALLOW_CHROME=1``). + + Default order: ``chrome-win/`` portable bundle, then system Chromium. + Override: ``CHROMIUM_PATH`` / ``BROWSER_PATH``, or ``MISF_USE_INSTALLED_CHROME=1``. + """ + for env_key in ("CHROMIUM_PATH", "BROWSER_PATH"): + raw = os.environ.get(env_key, "").strip().strip('"') + if raw and os.path.isfile(raw): + return raw + + portable = _portable_chromium_executable() + installed = [p for p in _installed_chromium_paths() if os.path.isfile(p)] + + if _prefer_installed_chromium(): + candidates = installed + ([portable] if portable else []) + else: + candidates = ([portable] if portable else []) + installed + + if _allow_google_chrome_fallback(): + candidates = candidates + [ + p for p in _google_chrome_fallback_paths() if os.path.isfile(p) + ] + + for path in candidates: + if path: + _agent_log( + "A", + "src/chrome.py:find_chromium_executable", + "Selected browser executable", + {"basename": os.path.basename(path), "from_portable": "chrome-win" in path.lower()}, + ) + return path + _agent_log( + "A", + "src/chrome.py:find_chromium_executable", + "No Chromium executable found", + {"chrome_win_checked": [str(r) for r in _portable_chrome_win_roots()]}, + ) + return None + + +def _browser_runs_in_background() -> bool: + """Default: foreground (visible). Set MISF_BROWSER_BACKGROUND=1 to start minimized.""" + return os.environ.get("MISF_BROWSER_BACKGROUND", "").strip().lower() in ( + "1", + "true", + "yes", + ) + + +def _launch_browser_process(cmd: list[str]) -> subprocess.Popen: + """Start Chromium detached; minimized on Windows when running in background.""" + global _BROWSER_PROCESS + kwargs: dict = { + "stdout": subprocess.DEVNULL, + "stderr": subprocess.DEVNULL, + } + if sys.platform == "win32" and _browser_runs_in_background(): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 7 # SW_SHOWMINNOACTIVE — minimized, no focus steal + kwargs["startupinfo"] = startupinfo + _BROWSER_PROCESS = subprocess.Popen(cmd, **kwargs) + return _BROWSER_PROCESS + + +def stop_chrome_browser(driver: webdriver.Chrome | None = None) -> None: + """Disconnect Selenium and terminate the Chromium process we launched.""" + if driver is not None: + try: + driver.quit() + except Exception: + pass + + global _BROWSER_PROCESS + proc = _BROWSER_PROCESS + _BROWSER_PROCESS = None + if proc is not None and proc.poll() is None: + try: + proc.terminate() + proc.wait(timeout=8) + except Exception: + try: + proc.kill() + except Exception: + pass + + if wait_for_debug_port(DEBUG_PORT, timeout=1): + _kill_processes_listening_on_port(DEBUG_PORT) + + +def _kill_processes_listening_on_port(port: int) -> None: + """Best-effort cleanup when the stored Popen handle is unavailable.""" + if sys.platform != "win32": + return + try: + output = subprocess.check_output( + ["netstat", "-ano", "-p", "tcp"], + text=True, + errors="replace", + **_hidden_subprocess_kwargs(), + ) + except Exception: + return + target_pids: set[int] = set() + needle = f":{port}" + for line in output.splitlines(): + if needle not in line or "LISTENING" not in line.upper(): + continue + parts = line.split() + if not parts: + continue + try: + target_pids.add(int(parts[-1])) + except ValueError: + continue + for pid in target_pids: + if pid <= 0: + continue + try: + subprocess.run( + ["taskkill", "/PID", str(pid), "/T", "/F"], + check=False, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + **_hidden_subprocess_kwargs(), + ) + except Exception: + pass + + +def _apply_background_window(driver: webdriver.Chrome) -> None: + try: + driver.maximize_window() + except WebDriverException: + pass + + +def _bring_browser_to_front(driver: webdriver.Chrome) -> None: + """Best-effort focus for scheduled/server runs so captures are not blank.""" + if sys.platform != "win32": + return + try: + import ctypes + + user32 = ctypes.windll.user32 + hwnd = user32.GetForegroundWindow() + try: + rect = driver.get_window_rect() + target_x = int(rect.get("x", 0) + max(rect.get("width", 800) // 2, 1)) + target_y = int(rect.get("y", 0) + max(rect.get("height", 600) // 2, 1)) + user32.SetCursorPos(target_x, target_y) + except Exception: + pass + if hwnd: + user32.SetForegroundWindow(hwnd) + driver.switch_to.window(driver.current_window_handle) + except Exception: + pass + + +def prepare_browser_for_screenshot(driver: webdriver.Chrome) -> None: + """Maximize and focus the automation browser before board screenshots.""" + try: + driver.switch_to.default_content() + except Exception: + pass + _apply_background_window(driver) + _bring_browser_to_front(driver) + time.sleep(0.6) + + +def _hidden_subprocess_kwargs() -> dict: + """Run helper processes without flashing a console window on Windows.""" + if sys.platform != "win32": + return {} + kwargs: dict = {"creationflags": subprocess.CREATE_NO_WINDOW} + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 + kwargs["startupinfo"] = startupinfo + return kwargs + + +def _capture_desktop_powershell(path: Path) -> bool: + """Primary monitor capture on Windows (includes taskbar date/time).""" + if sys.platform != "win32": + return False + out = str(path.resolve()) + ps_script = f""" +Add-Type -AssemblyName System.Windows.Forms,System.Drawing +$bounds = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds +$bmp = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height +$graphics = [System.Drawing.Graphics]::FromImage($bmp) +$graphics.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size) +$bmp.Save('{out.replace("'", "''")}', [System.Drawing.Imaging.ImageFormat]::Png) +$graphics.Dispose() +$bmp.Dispose() +""" + try: + subprocess.run( + [ + "powershell", + "-NoProfile", + "-WindowStyle", + "Hidden", + "-Command", + ps_script, + ], + check=True, + timeout=20, + capture_output=True, + **_hidden_subprocess_kwargs(), + ) + return path.is_file() and path.stat().st_size > 0 + except Exception: + return False + + +def capture_desktop_screenshot(path: Path) -> bool: + """Save a full-desktop PNG (taskbar clock visible). Falls back to False if unavailable.""" + path = Path(path) + path.parent.mkdir(parents=True, exist_ok=True) + try: + from PIL import ImageGrab + + ImageGrab.grab(all_screens=False).save(str(path), "PNG") + if path.is_file(): + return True + except Exception: + pass + try: + import mss + import mss.tools + + with mss.mss() as sct: + monitor = sct.monitors[1] + shot = sct.grab(monitor) + mss.tools.to_png(shot.rgb, shot.size, output=str(path)) + return path.is_file() + except Exception: + pass + if _capture_desktop_powershell(path): + return True + try: + import pyautogui + + pyautogui.screenshot(str(path)) + return path.is_file() + except Exception: + pass + return False + + +def _is_image_mostly_black(path: Path, *, threshold: int = 18) -> bool: + """True when a PNG is nearly all black (common on headless/disconnected server sessions).""" + try: + from PIL import Image + + with Image.open(path) as img: + rgb = img.convert("RGB") + sample = rgb.resize((64, 64)) + pixels = list(sample.getdata()) + if not pixels: + return True + avg = sum(sum(p) for p in pixels) / (len(pixels) * 3) + return avg < threshold + except Exception: + return False + + +def _capture_browser_with_timestamp_bar(driver: webdriver.Chrome, path: Path) -> bool: + """ + Fallback when desktop capture is black: maximized browser PNG plus a taskbar-style clock strip. + """ + try: + import io + + from PIL import Image, ImageDraw + + prepare_browser_for_screenshot(driver) + png = driver.get_screenshot_as_png() + browser = Image.open(io.BytesIO(png)).convert("RGB") + bar_h = 48 + canvas = Image.new("RGB", (browser.width, browser.height + bar_h), (30, 30, 30)) + canvas.paste(browser, (0, 0)) + draw = ImageDraw.Draw(canvas) + stamp = datetime.now().strftime("%I:%M %p %m/%d/%Y").lstrip("0") + draw.text((max(browser.width - 260, 8), browser.height + 14), stamp, fill=(255, 255, 255)) + canvas.save(str(path), "PNG") + return path.is_file() and path.stat().st_size > 0 + except Exception: + return False + + +def capture_fullscreen_screenshot(driver: webdriver.Chrome, path: Path) -> bool: + """ + Full-screen capture with system taskbar visible when an interactive desktop exists. + + On scheduled/server sessions without a visible desktop, falls back to a maximized + browser screenshot plus a timestamp bar (instead of an all-black PNG). + """ + path = Path(path) + path.parent.mkdir(parents=True, exist_ok=True) + log_step("Fullscreen screenshot", path=str(path)) + prepare_browser_for_screenshot(driver) + if capture_desktop_screenshot(path) and not _is_image_mostly_black(path): + log_step("Fullscreen screenshot saved", path=str(path)) + return True + if _is_image_mostly_black(path): + try: + path.unlink(missing_ok=True) + except OSError: + pass + if _capture_browser_with_timestamp_bar(driver, path): + log_step("Browser screenshot with timestamp bar saved", path=str(path), mode="server_fallback") + return True + driver.save_screenshot(str(path)) + log_step("Viewport screenshot saved (desktop capture unavailable)", path=str(path)) + return path.is_file() + + +def wait_for_debug_port(port: int = DEBUG_PORT, timeout: int = 40) -> bool: + start = time.time() + while time.time() - start < timeout: + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + if s.connect_ex(("127.0.0.1", port)) == 0: + return True + time.sleep(1) + return False + + +def is_debug_port_open(port: int = DEBUG_PORT) -> bool: + return wait_for_debug_port(port, timeout=1) + + +def _version_from_portable_dir(browser_path: str) -> str: + """Read e.g. 150.0.7852.0 from 150.0.7852.0.manifest next to chrome.exe.""" + folder = Path(browser_path).parent + for manifest in folder.glob("*.manifest"): + match = _VERSION_RE.search(manifest.name) + if match: + return match.group(1) + return "" + + +def _resolve_browser_version(browser_path: str) -> str: + """Best-effort version for the browser we launched (no hanging --version).""" + version = _get_browser_version_from_debug_port(timeout_secs=5.0) + if version: + return version + if browser_path: + version = _version_from_portable_dir(browser_path) + if version: + return version + return "" + + +def _ensure_chromedriver_cft(browser_version: str) -> str: + """ + Download chromedriver matching ``browser_version`` from Chrome for Testing. + Cached under ``.drivers//chromedriver.exe``. + """ + dest = _DRIVERS_DIR / browser_version / "chromedriver.exe" + if dest.is_file(): + return str(dest) + + dest.parent.mkdir(parents=True, exist_ok=True) + zip_url = f"{_CFT_DOWNLOAD_BASE}/{browser_version}/win64/chromedriver-win64.zip" + zip_path = dest.parent / "chromedriver-win64.zip" + print(f"[INFO] Downloading ChromeDriver {browser_version} (Chrome for Testing)...") + + _download_timeout = int( + os.environ.get("MISF_CHROMEDRIVER_DOWNLOAD_TIMEOUT", "60") + ) + last_exc: Exception | None = None + for attempt in range(1, 4): + try: + req = urlopen(zip_url, timeout=_download_timeout) + with open(zip_path, "wb") as fh: + shutil.copyfileobj(req, fh) + break + except Exception as exc: + last_exc = exc + print(f"[WARN] ChromeDriver download attempt {attempt}/3 failed: {exc}") + if zip_path.exists(): + zip_path.unlink(missing_ok=True) + time.sleep(2 * attempt) + else: + raise RuntimeError( + f"ChromeDriver {browser_version} download failed after 3 attempts: {last_exc}" + ) + + if not zipfile.is_zipfile(zip_path): + zip_path.unlink(missing_ok=True) + raise RuntimeError( + f"Downloaded ChromeDriver archive is not a valid ZIP: {zip_url}" + ) + + with zipfile.ZipFile(zip_path) as archive: + member = next( + (name for name in archive.namelist() if name.endswith("chromedriver.exe")), + None, + ) + if not member: + raise RuntimeError(f"chromedriver.exe not found in {zip_url}") + archive.extract(member, dest.parent) + extracted = dest.parent / member + extracted.rename(dest) + + try: + zip_path.unlink(missing_ok=True) + nested = dest.parent / "chromedriver-win64" + if nested.is_dir(): + shutil.rmtree(nested, ignore_errors=True) + except OSError: + pass + + print(f"[INFO] ChromeDriver installed -> {dest}") + return str(dest) + + +def _get_browser_version_from_debug_port(timeout_secs: float = 2.0) -> str: + """ + Read Chromium version from the running remote-debug instance. + + Example payload: {"Browser":"Chrome/150.0.7852.0", ...} + """ + try: + with urlopen(f"http://127.0.0.1:{DEBUG_PORT}/json/version", timeout=timeout_secs) as resp: + raw = resp.read().decode("utf-8", errors="replace") + data = json.loads(raw) + browser = str(data.get("Browser", "")).strip() + # "Chrome/150.0.7852.0" + if "/" in browser: + return browser.split("/", 1)[1].strip() + return browser + except (URLError, TimeoutError, ValueError, OSError): + return "" + + +def create_proxy_auth_extension( + proxy_ip: str, proxy_port: str, proxy_username: str, proxy_password: str +) -> str: + manifest_json = """{ + "version": "1.0.0", + "manifest_version": 2, + "name": "Chrome Proxy Auth Extension", + "permissions": [ + "proxy", "tabs", "unlimitedStorage", "storage", + "", "webRequest", "webRequestBlocking" + ], + "background": { "scripts": ["background.js"] }, + "minimum_chrome_version": "22.0.0" +}""" + _u = json.dumps(proxy_username) + _p = json.dumps(proxy_password) + background_js = f"""function callbackFn(details) {{ + return {{ authCredentials: {{ username: {_u}, password: {_p} }} }}; +}} +chrome.webRequest.onAuthRequired.addListener( + callbackFn, {{urls: [""]}}, ["blocking"] +);""" + ext_dir = Path(tempfile.mkdtemp(prefix="proxy_auth_ext_")) + atexit.register(shutil.rmtree, str(ext_dir), True) + (ext_dir / "manifest.json").write_text(manifest_json, encoding="utf-8") + (ext_dir / "background.js").write_text(background_js, encoding="utf-8") + print(f"[INFO] Proxy auth extension folder -> {ext_dir}") + return str(ext_dir) + + +def start_chrome_debug( + proxy_ip=None, + proxy_port=None, + proxy_username=None, + proxy_password=None, +) -> bool: + global _PROXY_CREDENTIALS + + browser_path = find_chromium_executable() + if not browser_path: + raise RuntimeError( + "Chromium not found. Place the portable bundle in chrome-win\\chrome-win\\ " + "(chrome.exe + chromedriver.exe), install Chromium, or set CHROMIUM_PATH. " + "(Google Chrome: MISF_ALLOW_CHROME=1.)" + ) + + log_step( + "Launch Chromium", + executable=browser_path, + background=str(_browser_runs_in_background()).lower(), + ) + global _LAST_BROWSER_PATH + _LAST_BROWSER_PATH = browser_path + os.makedirs(USER_DATA_DIR, exist_ok=True) + + cmd = [ + browser_path, + f"--remote-debugging-port={DEBUG_PORT}", + "--remote-allow-origins=*", + f"--user-data-dir={USER_DATA_DIR}", + "--disable-blink-features=AutomationControlled", + "--disable-popup-blocking", + "--no-first-run", + "--no-default-browser-check", + "--password-store=basic", + "--disable-restore-session-state", + "--disable-session-crashed-bubble", + "--hide-crash-restore-bubble", + "about:blank", + ] + if _browser_runs_in_background(): + cmd.append("--start-minimized") + + if proxy_ip and proxy_port: + port_str = str(proxy_port).strip() + if not port_str.isdigit(): + print(f"[WARN] Invalid proxy port '{port_str}' — skipping proxy") + _PROXY_CREDENTIALS = {} + else: + cmd.append(f"--proxy-server=http://{proxy_ip.strip()}:{port_str}") + cmd.append( + "--proxy-bypass-list=127.0.0.1;localhost;<-loopback>;" + + CHROME_PROXY_BYPASS_OFFICE + ) + log_step("Proxy configured", host=proxy_ip.strip(), port=port_str) + if proxy_username and proxy_password: + ext_folder = create_proxy_auth_extension( + proxy_ip.strip(), + port_str, + proxy_username.strip(), + proxy_password, + ) + cmd.append(f"--load-extension={ext_folder}") + _PROXY_CREDENTIALS = { + "username": proxy_username.strip(), + "password": str(proxy_password), + } + else: + _PROXY_CREDENTIALS = {} + else: + print("[INFO] No proxy configured — direct connection") + _PROXY_CREDENTIALS = {} + + if is_debug_port_open(DEBUG_PORT): + log_step("Debug port already in use — closing previous browser session") + stop_chrome_browser() + time.sleep(2) + + _launch_browser_process(cmd) + + if not wait_for_debug_port(DEBUG_PORT, timeout=40): + print("[ERROR] Browser debug port did not open in time") + return False + + print("[INFO] Browser debug port ready") + return True + + +def _find_chromedriver_path() -> str | None: + """ + Return a chromedriver path matching the browser we started. + + Prefers ``chromedriver.exe`` bundled in ``chrome-win/``. Otherwise downloads + a matching Chrome-for-Testing driver, then Selenium Manager. + """ + for env_key in ("CHROMEDRIVER_PATH", "WEBDRIVER_CHROME_DRIVER"): + raw = os.environ.get(env_key, "").strip().strip('"') + if raw and os.path.isfile(raw): + _agent_log( + "A", + "src/chrome.py:_find_chromedriver_path", + "Using explicit chromedriver path", + {"basename": os.path.basename(raw)}, + ) + return raw + + browser_path = _LAST_BROWSER_PATH or "" + bundled = _bundled_chromedriver_for(browser_path) + if bundled: + log_step("Using bundled chromedriver", path=bundled) + _agent_log( + "A", + "src/chrome.py:_find_chromedriver_path", + "Using chrome-win chromedriver", + {"basename": os.path.basename(bundled)}, + ) + return bundled + + browser_version = _resolve_browser_version(browser_path) + _agent_log( + "A", + "src/chrome.py:_find_chromedriver_path", + "Detected browser version", + { + "browser_version": browser_version, + "from_portable": "chrome-win" in (browser_path or "").lower(), + }, + ) + + if browser_version: + try: + driver_path = _ensure_chromedriver_cft(browser_version) + _agent_log( + "A", + "src/chrome.py:_find_chromedriver_path", + "Chrome for Testing chromedriver ready", + {"browser_version": browser_version}, + ) + return driver_path + except Exception as exc: + print( + f"[WARN] Could not download ChromeDriver {browser_version}: {exc}" + ) + _agent_log( + "A", + "src/chrome.py:_find_chromedriver_path", + "CfT chromedriver download failed", + {"error": str(exc)[:200]}, + ) + + _agent_log( + "A", + "src/chrome.py:_find_chromedriver_path", + "Using Selenium Manager for chromedriver", + {}, + ) + print( + "[WARN] Browser version unknown — Selenium Manager may pick the wrong driver. " + "Set CHROMEDRIVER_PATH or use installed Chrome (default)." + ) + return None + + +def _fill_proxy_auth_js_alert_if_present( + driver, username: str, password: str, wait_secs: float +) -> bool: + deadline = time.monotonic() + wait_secs + while time.monotonic() < deadline: + try: + alert = driver.switch_to.alert + alert.send_keys(Keys.CONTROL + "a") + alert.send_keys(username) + alert.send_keys(Keys.TAB) + alert.send_keys(Keys.CONTROL + "a") + alert.send_keys(password) + alert.accept() + return True + except Exception: + time.sleep(0.25) + return False + + +def _try_fill_proxy_auth_native_dialog(username: str, password: str) -> bool: + if sys.platform != "win32": + return False + try: + import pyautogui + except ImportError: + print("[INFO] pyautogui not installed — skip native proxy dialog fill") + return False + try: + time.sleep(0.6) + pyautogui.FAILSAFE = True + pyautogui.hotkey("ctrl", "a") + pyautogui.press("backspace") + pyautogui.write(username, interval=0.02) + pyautogui.press("tab") + pyautogui.hotkey("ctrl", "a") + pyautogui.press("backspace") + pyautogui.write(password, interval=0.02) + pyautogui.press("enter") + return True + except Exception as exc: + print(f"[WARN] Native proxy keyboard fill failed: {exc}") + return False + + +def _microsoft_login_visible(driver) -> bool: + try: + url = (driver.current_url or "").lower() + if "login.microsoftonline.com" in url or "login.live.com" in url: + return True + return bool( + driver.find_elements(By.CSS_SELECTOR, "input[type='email']") + or driver.find_elements(By.NAME, "loginfmt") + ) + except Exception: + return False + + +def dismiss_proxy_auth_popup( + driver, + username: str, + password: str, + wait_secs: float = 5.0, + max_attempts: int = 3, +) -> bool: + for attempt in range(1, max_attempts + 1): + if _fill_proxy_auth_js_alert_if_present(driver, username, password, wait_secs): + print(f"[INFO] Proxy auth handled (JS dialog) attempt {attempt}/{max_attempts}") + return True + if attempt < max_attempts: + time.sleep(2) + + if _try_fill_proxy_auth_native_dialog(username, password): + time.sleep(2) + if _microsoft_login_visible(driver): + print("[INFO] Microsoft login visible after proxy auth — proceeding") + return True + + if _microsoft_login_visible(driver): + print("[INFO] Microsoft login page present — proxy session usable") + return True + + print("[WARN] Proxy auth popup could not be dismissed") + return False + + +def attach_browser( + retries: int = 5, + download_dir: Path | str | None = None, + *, + create_download_dir: bool = False, +) -> webdriver.Chrome | None: + driver_path = _find_chromedriver_path() + service = Service(driver_path) if driver_path else Service() + dl_dir = Path(download_dir) if download_dir else DOWNLOADS_DIR + if create_download_dir: + dl_dir.mkdir(parents=True, exist_ok=True) + + for attempt in range(1, retries + 1): + try: + log_step("Attach browser", attempt=f"{attempt}/{retries}", download_dir=str(dl_dir)) + chrome_options = Options() + chrome_options.add_experimental_option( + "debuggerAddress", f"127.0.0.1:{DEBUG_PORT}" + ) + chrome_options.add_experimental_option( + "prefs", + { + "download.default_directory": str(dl_dir), + "download.prompt_for_download": False, + "plugins.always_open_pdf_externally": True, + "download.directory_upgrade": True, + "credentials_enable_service": False, + "profile.password_manager_enabled": False, + }, + ) + driver = webdriver.Chrome(service=service, options=chrome_options) + _ = driver.current_url + _apply_background_window(driver) + driver.set_page_load_timeout(90) + driver.set_script_timeout(30) + log_step("Browser attached successfully") + return driver + except WebDriverException as exc: + log_step("Attach failed", attempt=f"{attempt}/{retries}", error=str(exc)[:200]) + if attempt < retries: + time.sleep(3) + + print("[ERROR] Failed to attach browser after all retries") + return None diff --git a/src/config.py b/src/config.py new file mode 100644 index 0000000..6078c8a --- /dev/null +++ b/src/config.py @@ -0,0 +1,273 @@ +"""OneDrive / Planner download configuration from Input/input.xlsx.""" +from __future__ import annotations + +import logging +import os +import re +import sys +from dataclasses import dataclass +from datetime import datetime +from pathlib import Path + +import pandas as pd + +from totp_utils import validate_totp_secret + +if getattr(sys, "frozen", False): + PROJECT_ROOT = Path(sys.executable).parent +else: + PROJECT_ROOT = Path(__file__).resolve().parent.parent + +CONFIG_FILE = PROJECT_ROOT / "Input" / "input.xlsx" +TODAY_ISO_DATE = datetime.now().strftime("%Y-%m-%d") +EXPECTED_FACILITY_COUNT = 54 + +DEFAULT_ONEDRIVE_URL = ( + "https://netorg393890-my.sharepoint.com/personal/joy_accesspsychology_org" + "/_layouts/15/onedrive.aspx" + "?id=%2Fpersonal%2Fjoy%5Faccesspsychology%5Forg%2FDocuments" + "%2FAccess%20Facility%20Spreadsheets3" +) + +DEFAULT_PLANNER_URL = ( + "https://planner.cloud.microsoft/webui/mytasks/assignedtome/view/grid" + "?tid=0c15ad2c-19dd-4ded-9cd1-20d344386414" +) + +# Rows like REPLACE_WITH_54TH_FACILITY_NAME are skipped when loading facilities. +_FACILITY_PLACEHOLDER_RE = re.compile( + r"^REPLACE_WITH_.*", + re.IGNORECASE, +) + +_log = logging.getLogger(__name__) + + +@dataclass(frozen=True) +class AppConfig: + proxy_ip: str + proxy_port: str + proxy_username: str + proxy_password: str + onedrive_username: str + onedrive_password: str + microsoft_totp_secret: str + onedrive_url: str + planner_url: str + pdf_folder_path: str + + +def _load_dotenv_file() -> None: + """Load .env from project root into os.environ (no-override: existing vars take priority).""" + env_path = PROJECT_ROOT / ".env" + if not env_path.is_file(): + return + try: + from dotenv import load_dotenv + load_dotenv(dotenv_path=env_path, override=False) + except ImportError: + # Fallback: basic KEY=VALUE parser (no multi-line or comment support) + for raw_line in env_path.read_text(encoding="utf-8").splitlines(): + line = raw_line.strip() + if not line or line.startswith("#") or "=" not in line: + continue + key, _, value = line.partition("=") + key = key.strip() + value = value.strip().strip('"').strip("'") + if key and key not in os.environ: + os.environ[key] = value + + +def _env(name: str, *aliases: str) -> str: + for key in (name, *aliases): + val = os.environ.get(key, "").strip() + if val: + return val + return "" + + +def _read_config_key_value_sheet(config_path: Path | None = None) -> dict[str, str]: + path = config_path or CONFIG_FILE + if not path.exists(): + raise FileNotFoundError(f"input.xlsx not found at {path}") + + try: + df = pd.read_excel(str(path), sheet_name="Sheet1", header=None, usecols=[0, 1]) + except Exception as exc: + raise RuntimeError( + f"Could not read config from {path} (Sheet1): {exc}" + ) from exc + + def _clean(val) -> str: + s = str(val).strip() + return "" if s.lower() in ("nan", "none", "") else s + + if len(df.columns) < 2: + raise RuntimeError( + f"Config sheet Sheet1 in {path} must have at least 2 columns (Key | Value)." + ) + + config: dict[str, str] = {} + for _, row in df.iterrows(): + key = _clean(row[0]) + value = _clean(row[1]) + if key: + config[key] = value + return config + + +def missing_onedrive_credentials( + onedrive_username: str, + onedrive_password: str, + microsoft_totp_secret: str, +) -> list[str]: + missing = [] + if not onedrive_username: + missing.append("OneDrive Username") + if not onedrive_password: + missing.append("OneDrive Password") + if not microsoft_totp_secret: + missing.append("Microsoft TOTP Secret") + return missing + + +def credentials_setup_message(missing: list[str]) -> str: + keys = ", ".join(missing) + return ( + f"Missing: {keys}\n\n" + f"Option A — edit {CONFIG_FILE} Sheet1, column B next to each key.\n" + f"Option B — copy .env.example to .env in the project root and set:\n" + " ONEDRIVE_USERNAME, ONEDRIVE_PASSWORD, MICROSOFT_TOTP_SECRET\n" + " PLANNER_URL (optional)\n" + ) + + +def read_app_config(config_path: Path | None = None) -> AppConfig: + """Load full application config from input.xlsx with .env fallbacks.""" + _load_dotenv_file() + config = _read_config_key_value_sheet(config_path) + + proxy_ip = config.get("Proxy IP", "") or _env("PROXY_IP") + proxy_port = config.get("Proxy Port", "") or _env("PROXY_PORT") + proxy_username = config.get("Proxy Username", "") or _env("PROXY_USERNAME") + proxy_password = config.get("Proxy Password", "") or _env("PROXY_PASSWORD") + + onedrive_username = config.get("OneDrive Username", "") or _env( + "ONEDRIVE_USERNAME", "OneDrive Username" + ) + onedrive_password = config.get("OneDrive Password", "") or _env( + "ONEDRIVE_PASSWORD", "OneDrive Password" + ) + microsoft_totp_secret = ( + config.get("Microsoft TOTP Secret", "") + or config.get("OTP Secret", "") + or _env("MICROSOFT_TOTP_SECRET", "OTP_SECRET", "TOTP_SECRET") + ) + onedrive_url = config.get("OneDrive URL", "") or _env("ONEDRIVE_URL") or DEFAULT_ONEDRIVE_URL + planner_url = ( + config.get("Planner URL", "") + or config.get("Planner URL ", "") + or _env("PLANNER_URL") + or DEFAULT_PLANNER_URL + ) + pdf_folder_path = config.get("pdf_folder_path", "") or _env("PDF_FOLDER_PATH") + + _log.info("Proxy -> %s:%s", proxy_ip, proxy_port) + _log.info("OneDrive User -> %s", onedrive_username) + _log.info("Planner URL -> %s...", planner_url[:80]) + _log.info("PDF folder path -> %s", pdf_folder_path or "(default Input/PDFs)") + + return AppConfig( + proxy_ip=proxy_ip, + proxy_port=proxy_port, + proxy_username=proxy_username, + proxy_password=proxy_password, + onedrive_username=onedrive_username, + onedrive_password=onedrive_password, + microsoft_totp_secret=microsoft_totp_secret, + onedrive_url=onedrive_url, + planner_url=planner_url, + pdf_folder_path=pdf_folder_path, + ) + + +def read_onedrive_config(config_path: Path | None = None) -> tuple: + """ + Legacy tuple API. Prefer :func:`read_app_config`. + + Returns + ------- + (proxy_ip, proxy_port, proxy_username, proxy_password, + onedrive_username, onedrive_password, microsoft_totp_secret, + onedrive_url, pdf_folder_path, planner_url) + """ + cfg = read_app_config(config_path) + return ( + cfg.proxy_ip, + cfg.proxy_port, + cfg.proxy_username, + cfg.proxy_password, + cfg.onedrive_username, + cfg.onedrive_password, + cfg.microsoft_totp_secret, + cfg.onedrive_url, + cfg.pdf_folder_path, + cfg.planner_url, + ) + + +def _is_placeholder_facility(name: str) -> bool: + return bool(_FACILITY_PLACEHOLDER_RE.match(name.strip())) + + +def read_facility_list( + config_path: Path | None = None, + *, + skip_placeholders: bool = True, + warn_if_not_expected_count: bool = True, +) -> list[str]: + path = config_path or CONFIG_FILE + if not path.exists(): + raise FileNotFoundError(f"input.xlsx not found at {path}") + + try: + df = pd.read_excel(str(path), sheet_name="Facilities", usecols=[0]) + except ValueError as exc: + raise RuntimeError( + f"Sheet 'Facilities' not found in {path}. " + "Add a sheet with column 'Facility Name' (one facility per row)." + ) from exc + + # Always use the first column regardless of its header name. + col = df.columns[0] + + names: list[str] = [] + skipped: list[str] = [] + for val in df[col]: + s = str(val).strip() + if not s or s.lower() in ("nan", "none", "facility name"): + continue + if skip_placeholders and _is_placeholder_facility(s): + skipped.append(s) + continue + names.append(s) + + if skipped: + _log.warning( + "Skipped %d placeholder facility row(s): %s", + len(skipped), + ", ".join(skipped[:3]), + ) + + if not names: + raise RuntimeError(f"No facility names found in 'Facilities' sheet of {path}.") + + if warn_if_not_expected_count and len(names) != EXPECTED_FACILITY_COUNT: + _log.warning( + "Expected %d facilities, found %d (check Facilities sheet names).", + EXPECTED_FACILITY_COUNT, + len(names), + ) + + _log.info("Loaded %d facility name(s) from Facilities sheet", len(names)) + return names diff --git a/src/debug_log.py b/src/debug_log.py new file mode 100644 index 0000000..a06c865 --- /dev/null +++ b/src/debug_log.py @@ -0,0 +1,60 @@ +"""Shared NDJSON debug logging (MISF_DEBUG=1 only). No secrets/PII.""" +from __future__ import annotations + +import json +import os +import time +import uuid + +from config import PROJECT_ROOT + +_DEBUG_LOG = PROJECT_ROOT / "debug.log" +_AGENT_SESSION_LOG = PROJECT_ROOT / "debug-6d994d.log" +_AGENT_SESSION_ID = "6d994d" + + +def write_agent_session_debug( + hypothesis_id: str, location: str, message: str, data: dict +) -> None: + """NDJSON debug log for Cursor agent debug sessions (MISF_DEBUG=1 only).""" + # region agent log + if os.environ.get("MISF_DEBUG", "").strip() not in ("1", "true", "yes"): + return + try: + ts_ms = int(time.time() * 1000) + payload = { + "sessionId": _AGENT_SESSION_ID, + "runId": os.environ.get("MISF_RUN_ID", "run1"), + "hypothesisId": hypothesis_id, + "id": f"log_{ts_ms}_{uuid.uuid4().hex[:8]}", + "timestamp": ts_ms, + "location": location, + "message": message, + "data": data, + } + with _AGENT_SESSION_LOG.open("a", encoding="utf-8") as f: + f.write(json.dumps(payload, ensure_ascii=False) + "\n") + except Exception: + pass + # endregion + + +def write_debug(hypothesis_id: str, location: str, message: str, data: dict) -> None: + if os.environ.get("MISF_DEBUG", "").strip() not in ("1", "true", "yes"): + return + try: + ts_ms = int(time.time() * 1000) + payload = { + "sessionId": os.environ.get("MISF_SESSION_ID", "local"), + "runId": os.environ.get("MISF_RUN_ID", "run1"), + "hypothesisId": hypothesis_id, + "id": f"log_{ts_ms}_{uuid.uuid4().hex[:8]}", + "timestamp": ts_ms, + "location": location, + "message": message, + "data": data, + } + with _DEBUG_LOG.open("a", encoding="utf-8") as f: + f.write(json.dumps(payload, ensure_ascii=False) + "\n") + except Exception: + pass diff --git a/src/log_window.py b/src/log_window.py new file mode 100644 index 0000000..6a72517 --- /dev/null +++ b/src/log_window.py @@ -0,0 +1,118 @@ +"""Live log viewer for windowed MISF_VOB_Download.exe (no console).""" +from __future__ import annotations + +import logging +import queue +import threading +import tkinter as tk +from collections.abc import Callable +from tkinter import scrolledtext + + +class _TkLogHandler(logging.Handler): + """Thread-safe logging handler that forwards records to a Tk text widget.""" + + def __init__(self, text_widget: scrolledtext.ScrolledText, root: tk.Tk) -> None: + super().__init__() + self._text = text_widget + self._root = root + self._queue: queue.Queue[str] = queue.Queue() + self._root.after(100, self._drain_queue) + + def emit(self, record: logging.LogRecord) -> None: + try: + msg = self.format(record) + except Exception: + self.handleError(record) + return + self._queue.put(msg + "\n") + + def _drain_queue(self) -> None: + while True: + try: + line = self._queue.get_nowait() + except queue.Empty: + break + self._text.configure(state="normal") + self._text.insert(tk.END, line) + self._text.see(tk.END) + self._text.configure(state="disabled") + self._root.after(100, self._drain_queue) + + +def run_with_live_logs(workflow: Callable[[], int]) -> int: + """ + Show a scrollable log window and run *workflow* on a background thread. + + Returns the workflow exit code after the user closes the window. + """ + root = tk.Tk() + root.title("MISF VOB Download — Live Log") + root.geometry("920x560") + root.minsize(640, 360) + + header = tk.Label( + root, + text="Download in progress — logs update live below", + anchor="w", + font=("Segoe UI", 10, "bold"), + ) + header.pack(fill="x", padx=10, pady=(10, 4)) + + text = scrolledtext.ScrolledText( + root, + wrap="word", + state="disabled", + font=("Consolas", 10), + ) + text.pack(fill="both", expand=True, padx=10, pady=4) + + status_var = tk.StringVar(value="Running...") + status_label = tk.Label(root, textvariable=status_var, anchor="w") + status_label.pack(fill="x", padx=10, pady=(0, 6)) + + close_btn = tk.Button(root, text="Close", state="disabled", width=12) + close_btn.pack(pady=(0, 10)) + + fmt = logging.Formatter( + "%(asctime)s [%(levelname)s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + ) + handler = _TkLogHandler(text, root) + handler.setFormatter(fmt) + handler.setLevel(logging.INFO) + + root_logger = logging.getLogger() + root_logger.addHandler(handler) + + result: dict[str, int] = {"code": 0} + + def _run_workflow() -> None: + try: + result["code"] = workflow() + except SystemExit as exc: + result["code"] = int(exc.code) if exc.code is not None else 0 + except Exception: + result["code"] = 1 + logging.getLogger(__name__).exception("Workflow failed") + finally: + def _on_done() -> None: + if result["code"] == 0: + status_var.set("Complete — you may close this window.") + else: + status_var.set(f"Finished with errors (exit {result['code']}). See log above.") + close_btn.configure(state="normal") + + root.after(0, _on_done) + + worker = threading.Thread(target=_run_workflow, daemon=True) + worker.start() + + def _close() -> None: + root_logger.removeHandler(handler) + root.destroy() + + close_btn.configure(command=_close) + root.protocol("WM_DELETE_WINDOW", _close) + root.mainloop() + return result["code"] diff --git a/src/logging_setup.py b/src/logging_setup.py new file mode 100644 index 0000000..2470a27 --- /dev/null +++ b/src/logging_setup.py @@ -0,0 +1,68 @@ +"""Structured logging for MISF download runs.""" +from __future__ import annotations + +import logging +import os +import sys +from datetime import datetime +from pathlib import Path + + +def setup_logging(project_root: Path, *, run_date: str | None = None) -> Path: + """ + Configure root logger and misf.run logger: console + download.log + moves.log. + Returns the main download log file path. + """ + date_str = run_date or datetime.now().strftime("%Y-%m-%d") + log_dir = project_root / "Output" / date_str / "logs" + log_dir.mkdir(parents=True, exist_ok=True) + log_path = log_dir / "download.log" + moves_path = log_dir / "moves.log" + + level_name = os.environ.get("MISF_LOG_LEVEL", "INFO").upper() + level = getattr(logging, level_name, logging.INFO) + + fmt = logging.Formatter( + "%(asctime)s [%(levelname)s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + ) + + root = logging.getLogger() + root.setLevel(level) + + # Avoid duplicate handlers on repeated setup in same process. + for h in list(root.handlers): + root.removeHandler(h) + + # Windowed .exe: log files only (no console / live log window). + if not getattr(sys, "frozen", False): + console = logging.StreamHandler() + console.setLevel(level) + console.setFormatter(fmt) + root.addHandler(console) + + file_handler = logging.FileHandler(log_path, encoding="utf-8") + file_handler.setLevel(level) + file_handler.setFormatter(fmt) + root.addHandler(file_handler) + + moves_handler = logging.FileHandler(moves_path, encoding="utf-8") + moves_handler.setLevel(level) + moves_handler.setFormatter(fmt) + + run_logger = logging.getLogger("misf.run") + run_logger.setLevel(level) + run_logger.propagate = True + run_logger.addHandler(moves_handler) + + # Module loggers used across the app + for name in ("misf", "src.planner_download", "src.onedrive_planner", "src.chrome", "src.config"): + logging.getLogger(name).setLevel(level) + + logging.getLogger("misf.run").info( + "Logging enabled -> %s and %s (filter [STEP] in moves.log)", + log_path, + moves_path, + ) + + return log_path diff --git a/src/onedrive_planner.py b/src/onedrive_planner.py new file mode 100644 index 0000000..5b5ffd0 --- /dev/null +++ b/src/onedrive_planner.py @@ -0,0 +1,6305 @@ +# ================================================================ +# OneDrive / Microsoft Planner — face-sheet download automation +# ================================================================ +from __future__ import annotations + +import base64 +from dataclasses import dataclass, field +import json +import logging +import os +import re +import shutil +import time +from datetime import datetime +import urllib.error +import urllib.parse +import urllib.request +from pathlib import Path + +import pyotp +from chrome import DOWNLOADS_DIR as _CHROME_DOWNLOADS_DIR +from chrome import capture_fullscreen_screenshot +from config import DEFAULT_ONEDRIVE_URL, DEFAULT_PLANNER_URL, PROJECT_ROOT, TODAY_ISO_DATE +from debug_log import write_agent_session_debug as _agent_session_log +from debug_log import write_debug as _write_debug +from run_log import log_step, log_url +from totp_utils import validate_totp_secret +from selenium.common.exceptions import ( + InvalidSelectorException, + NoSuchElementException, + StaleElementReferenceException, + TimeoutException, +) +from selenium.webdriver import ActionChains +from selenium.webdriver.common.by import By +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.remote.webdriver import WebDriver +from selenium.webdriver.support import expected_conditions as EC +from selenium.webdriver.support.ui import WebDriverWait + +_log = logging.getLogger(__name__) +_COOKIE_JAR = PROJECT_ROOT / "Output" / "session" / "cookies_planner.json" + +WAIT_SHORT = 15 +WAIT_MED = 30 +WAIT_LONG = 60 +POST_FACILITY_CLICK_WAIT = 30 +POST_FACILITY_LOAD_DELAY = 3 +PANEL_TAB_LOAD_DELAY = 2 # let task panel / tab content render before reads +FACILITY_LOAD_AFTER_REFRESH = 45 +DOWNLOAD_POLL_INTERVAL = 0.5 +DOWNLOAD_TIMEOUT = 120 +MIN_PDF_BYTES = 5000 + +_ACTIVE_PAPERCLIP_XPATH = ( + "//button[@data-testid='attachment-indicator']" + "[not(ancestor::*[contains(@aria-label,'Completed tasks')])]" +) + +# Planner 2024+ board: complete control is often button[role=checkbox], not label. +_COMPLETION_CHECKBOX_UNCHECKED_XPATH = ( + ".//label[@role='checkbox' and @aria-checked='false']" + " | .//button[@role='checkbox' and @aria-checked='false']" + " | .//*[@role='checkbox' and @aria-checked='false']" +) +_COMPLETION_CHECKBOX_CHECKED_XPATH = ( + ".//label[@role='checkbox' and @aria-checked='true']" + " | .//button[@role='checkbox' and @aria-checked='true']" +) +_PLANNER_TASK_CARD_XPATHS = ( + "./ancestor::*[@data-dnd-role='card'][1]", + "./ancestor::div[contains(@class,'planner-draggable-task-card')][1]", + "./ancestor::*[@role='listitem'][@data-dnd-role='card'][1]", +) + +# Avoid duplicate processing within a single run (Shared list can contain duplicates). +_PROCESSED_SHARED_FACILITIES: set[str] = set() + +FACILITY_NOT_APPEAR_MSG = "Facility did not appear in Shared plans search" + + +def reset_run_state() -> None: + """Clear per-run module-level state. Call at the start of each workflow run.""" + global _PROCESSED_SHARED_FACILITIES + _PROCESSED_SHARED_FACILITIES = set() + + +class FacilityNotFoundError(Exception): + """Facility could not be opened from My plans -> Shared (list or filter).""" + + +_FILTER_BUTTON_LOCATORS = [ + (By.CSS_SELECTOR, "button[aria-label='Filter by keyword']"), + (By.XPATH, "//button[@aria-label='Filter by keyword']"), +] +_FILTER_INPUT_LOCATORS = [ + (By.CSS_SELECTOR, "input[aria-label='Filter by keyword']"), + (By.CSS_SELECTOR, "input[placeholder*='Filter'][placeholder*='keyword']"), + (By.XPATH, "//input[contains(@placeholder,'Filter') and contains(@placeholder,'keyword')]"), + (By.CSS_SELECTOR, "input[type='search']"), + (By.CSS_SELECTOR, "[role='searchbox']"), +] +_FILTER_EMPTY_STATE_XPATHS = [ + "//*[contains(.,'Clear your filters')]", + "//*[contains(.,'No results')]", + "//*[contains(.,'Search more plans')]", + "//*[contains(.,'no plans')]", +] + +# Optional corporate proxy for HTTP downloads (same as browser proxy). +_HTTP_PROXY: tuple[str, str, str, str] | None = None + + +def configure_http_download_proxy( + proxy_ip: str | None, + proxy_port: str | None, + proxy_username: str | None = None, + proxy_password: str | None = None, +) -> None: + """Use the same proxy as Chromium for SharePoint HTTP downloads.""" + global _HTTP_PROXY + if proxy_ip and proxy_port: + _HTTP_PROXY = ( + proxy_ip.strip(), + str(proxy_port).strip(), + (proxy_username or "").strip(), + (proxy_password or "").strip(), + ) + else: + _HTTP_PROXY = None + +_agent_log = _write_debug +_agent_dbg_eb = _write_debug +_dbg = _write_debug + + +def _sanitize_folder_name(name: str) -> str: + cleaned = re.sub(r'[<>:"/\\|?*]', "_", name.strip()) + return cleaned or "unknown_facility" + + +def _xpath_literal(text: str) -> str: + """Build an XPath string literal safe for quotes in facility names.""" + if "'" not in text: + return f"'{text}'" + if '"' not in text: + return f'"{text}"' + parts = text.split("'") + return "concat(" + ", \"'\", ".join(f"'{p}'" for p in parts) + ")" + + +def _wait(driver: WebDriver, timeout: int = WAIT_MED) -> WebDriverWait: + return WebDriverWait(driver, timeout) + + +def _is_facility_plan_url(url: str) -> bool: + u = (url or "").lower() + return "/plan/" in u or "planid=" in u + + +def _is_planner_hub_url(url: str) -> bool: + """My Tasks / My plans list — not an open facility board.""" + u = (url or "").lower() + if u in ("about:blank", "", "data:,"): + return False + if "planner.cloud.microsoft" not in u and "tasks.office.com" not in u: + return False + return not _is_facility_plan_url(u) + + +def consolidate_browser_to_single_tab(driver: WebDriver) -> None: + """ + Close extra tabs from Chromium session restore or about:blank at startup. + + The automation expects one working tab before navigating to Planner. + """ + try: + handles = list(driver.window_handles) + if len(handles) <= 1: + return + + def _tab_url(handle: str) -> str: + try: + driver.switch_to.window(handle) + return (driver.current_url or "").strip().lower() + except Exception: + return "" + + keep = handles[-1] + for handle in reversed(handles): + url = _tab_url(handle) + if url not in ("about:blank", "", "data:,"): + keep = handle + break + + closed = 0 + for handle in handles: + if handle == keep: + continue + try: + driver.switch_to.window(handle) + driver.close() + closed += 1 + except Exception: + pass + driver.switch_to.window(keep) + log_step("Consolidated browser to single tab", closed=closed) + except Exception as exc: + _log.warning("consolidate_browser_to_single_tab: %s", exc) + + +def focus_facility_plan_tab(driver: WebDriver) -> bool: + """ + Switch to the facility plan tab and close My Tasks / Shared list tabs. + + Planner opens a plan in a new tab when clicked from My plans -> Shared, + leaving the original My Tasks tab open. + """ + try: + plan_handle = None + for handle in driver.window_handles: + driver.switch_to.window(handle) + if _is_facility_plan_url(driver.current_url or ""): + plan_handle = handle + break + if not plan_handle: + return False + closed = 0 + for handle in list(driver.window_handles): + if handle == plan_handle: + continue + try: + driver.switch_to.window(handle) + url = (driver.current_url or "").strip().lower() + if url in ("about:blank", "", "data:,") or _is_planner_hub_url(url): + driver.close() + closed += 1 + except Exception: + pass + driver.switch_to.window(plan_handle) + if closed: + log_step( + "Closed planner hub tab(s)", + count=closed, + plan_url=(driver.current_url or "")[:120], + ) + return True + except Exception as exc: + _log.warning("focus_facility_plan_tab: %s", exc) + return False + +def _save_cookies(driver: WebDriver) -> None: + try: + _COOKIE_JAR.parent.mkdir(parents=True, exist_ok=True) + cookies = driver.get_cookies() + # Do not log cookie values; just store to disk. + _COOKIE_JAR.write_text(json.dumps(cookies), encoding="utf-8") + except Exception as exc: + _log.warning("Could not save session cookies: %s", exc) + + +def _load_cookies(driver: WebDriver, *, domain_url: str) -> bool: + """ + Best-effort cookie restore. We must visit the domain first before adding cookies. + """ + if not _COOKIE_JAR.is_file(): + return False + try: + driver.get(domain_url) + time.sleep(2) + cookies = json.loads(_COOKIE_JAR.read_text(encoding="utf-8")) + if not isinstance(cookies, list): + return False + added = 0 + for c in cookies: + if not isinstance(c, dict): + continue + # Selenium rejects some keys; keep the common ones. + slim = {k: c.get(k) for k in ("name", "value", "domain", "path", "expiry", "secure", "httpOnly", "sameSite") if k in c} + if "name" in slim and "value" in slim: + try: + driver.add_cookie(slim) + added += 1 + except Exception: + continue + if added: + driver.get(domain_url) + time.sleep(2) + return added > 0 + except Exception as exc: + _log.warning("Could not restore session cookies: %s", exc) + return False + + +def _js_click(driver: WebDriver, element) -> None: + try: + tag = element.tag_name + label = (element.text or element.get_attribute("aria-label") or "")[:80] + log_step("Click element", tag=tag, label=label) + except Exception: + log_step("Click element") + driver.execute_script("arguments[0].scrollIntoView({block:'center'});", element) + time.sleep(0.3) + driver.execute_script("arguments[0].click();", element) + + +def _first_clickable(driver: WebDriver, locators: list[tuple[str, str]], timeout: int = WAIT_MED): + end = time.time() + timeout + last_err = None + while time.time() < end: + for by, value in locators: + try: + el = driver.find_element(by, value) + if el.is_displayed() and el.is_enabled(): + return el + except (NoSuchElementException, StaleElementReferenceException) as exc: + last_err = exc + time.sleep(0.4) + raise TimeoutException(f"No clickable element for locators (last: {last_err})") + + +def _click_any(driver: WebDriver, locators: list[tuple[str, str]], timeout: int = WAIT_MED) -> None: + el = _first_clickable(driver, locators, timeout=timeout) + _js_click(driver, el) + + +def _type_into(driver: WebDriver, locators: list[tuple[str, str]], text: str, clear: bool = True) -> None: + el = _first_clickable(driver, locators, timeout=WAIT_LONG) + _js_click(driver, el) + if clear: + el.send_keys(Keys.CONTROL, "a") + el.send_keys(Keys.BACKSPACE) + el.send_keys(text) + + +def _on_login_host(driver: WebDriver) -> bool: + url = (driver.current_url or "").lower() + return any( + h in url + for h in ( + "login.microsoftonline.com", + "login.live.com", + "login.microsoft.com", + ) + ) + + +def _on_planner_app(driver: WebDriver) -> bool: + url = (driver.current_url or "").lower() + return any( + h in url + for h in ( + "planner.cloud.microsoft", + "tasks.office.com", + "tasks.office365.us", + ) + ) + + +def _on_planner_plan_board(driver: WebDriver) -> bool: + url = (driver.current_url or "").lower() + return ( + "planner.cloud.microsoft" in url + and "/plan/" in url + and ("board" in url or "grid" in url) + ) + + +def _plan_load_error_present(driver: WebDriver) -> bool: + """True when Planner shows 'Couldn't open your plan' (URL may still be /plan/).""" + phrases = ( + "couldn't open your plan", + "could not open your plan", + "try again in a few minutes", + ) + try: + blob = (driver.find_element(By.TAG_NAME, "body").text or "").lower() + return any(p in blob for p in phrases) + except Exception: + return False + + +def _plan_page_ready(driver: WebDriver) -> bool: + """Plan UI is usable — not the error page.""" + if _plan_load_error_present(driver): + return False + url = (driver.current_url or "").lower() + if not ("/plan/" in url or "planid=" in url): + return False + return bool( + driver.find_elements(By.XPATH, "//*[@role='tab' and normalize-space()='Board']") + or driver.find_elements(By.XPATH, "//*[@role='tab' and normalize-space()='Grid']") + or driver.find_elements( + By.XPATH, + "//*[contains(@aria-label,'Add task') or normalize-space()='Add task']", + ) + or driver.find_elements(By.CSS_SELECTOR, "[role='grid'].grid-container, .grid-container") + or driver.find_elements( + By.XPATH, + "//*[contains(@data-testid,'TaskCard') or contains(@class,'TaskCard')]", + ) + ) + + +def _click_plan_try_again(driver: WebDriver) -> bool: + """Click Planner's 'Try again' button on the plan load error page.""" + locators = [ + (By.XPATH, "//button[normalize-space()='Try again']"), + (By.XPATH, "//*[self::button or self::a][normalize-space()='Try again']"), + ] + try: + log_step("Click Try again on plan error page") + _click_any(driver, locators, timeout=8) + time.sleep(4) + return True + except TimeoutException: + return False + + +def _board_probes_present(driver: WebDriver) -> bool: + """True when the plan board UI (task cards) is visible in the current frame.""" + probes = [ + "//button[@data-testid='attachment-indicator']", + "//label[@role='checkbox']", + "//*[@role='checkbox']", + "//*[normalize-space()='Add task']", + "//*[@role='tab' and normalize-space()='Board']", + ] + for xpath in probes: + try: + for el in driver.find_elements(By.XPATH, xpath)[:12]: + if el.is_displayed(): + return True + except Exception: + continue + return False + + +def _on_sharepoint_or_onedrive(driver: WebDriver) -> bool: + url = (driver.current_url or "").lower() + return any( + h in url + for h in ("sharepoint.com", "onedrive.live.com", "office.com", "office365.com") + ) + + +def _on_m365_app(driver: WebDriver) -> bool: + return _on_planner_app(driver) or _on_sharepoint_or_onedrive(driver) + + +def _is_stay_signed_in_prompt(driver: WebDriver) -> bool: + try: + if driver.find_elements(By.ID, "idBtn_Back"): + return True + if driver.find_elements( + By.XPATH, + "//*[contains(translate(normalize-space(.)," + "'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')," + "'stay signed in')]", + ): + return True + return "stay signed in" in (driver.page_source or "").lower() + except Exception: + return False + + +def _otp_input_visible(driver: WebDriver) -> bool: + try: + for by, sel in ( + (By.CSS_SELECTOR, "input[name='otc']"), + (By.ID, "idTxtBx_SAOTCC_OTC"), + (By.CSS_SELECTOR, "input[type='tel']"), + ): + for el in driver.find_elements(by, sel): + if el.is_displayed(): + return True + except Exception: + pass + return False + + +def _email_form_visible(driver: WebDriver) -> bool: + """True when the Microsoft login page shows an email / username field.""" + try: + for by, sel in ( + (By.CSS_SELECTOR, "input[type='email']"), + (By.NAME, "loginfmt"), + (By.ID, "i0116"), + ): + for el in driver.find_elements(by, sel): + if el.is_displayed(): + return True + except Exception: + pass + return False + + +def _password_form_visible(driver: WebDriver) -> bool: + """True when the Microsoft login page shows a password field (with or without email step).""" + try: + for by, sel in ( + (By.CSS_SELECTOR, "input[type='password']"), + (By.NAME, "passwd"), + (By.ID, "i0118"), + ): + for el in driver.find_elements(by, sel): + if el.is_displayed(): + return True + except Exception: + pass + return False + + +def _login_form_visible(driver: WebDriver) -> bool: + return _email_form_visible(driver) or _password_form_visible(driver) + + +def _needs_microsoft_login(driver: WebDriver) -> bool: + """Planner launch may redirect to login or show password directly (remembered account).""" + return _on_login_host(driver) or _login_form_visible(driver) + + +def _planner_session_ready(driver: WebDriver) -> bool: + """Signed in on Planner — no Microsoft login/password prompt visible.""" + return ( + _on_planner_app(driver) + and not _on_login_host(driver) + and not _login_form_visible(driver) + ) + + +def _remove_empty_directory(path: Path) -> None: + """Remove facility folder if it was created for downloads but stayed empty.""" + try: + if path.is_dir() and not any(path.iterdir()): + path.rmdir() + except OSError: + pass + try: + parent = path.parent + if parent.is_dir() and parent != path and not any(parent.iterdir()): + parent.rmdir() + except OSError: + pass + + +def _ensure_download_folder(folder: Path) -> None: + """Create Original// only when a download is about to start.""" + folder.mkdir(parents=True, exist_ok=True) + + +def set_chrome_download_directory( + driver: WebDriver, + folder: Path, + *, + create_dir: bool = False, +) -> None: + """Set download path for the current tab via CDP.""" + if create_dir: + _ensure_download_folder(folder) + try: + driver.execute_cdp_cmd( # pyright: ignore[reportAttributeAccessIssue] + "Page.setDownloadBehavior", + {"behavior": "allow", "downloadPath": str(folder.resolve())}, + ) + except Exception as exc: + print(f"[WARN] Could not set CDP download path ({exc}); using default Downloads") + + +def _relocate_new_pdfs_from_dirs( + extra_dirs: list[Path], + dest_folder: Path, + before: set[str], +) -> list[Path]: + """Move new PDFs from Chrome default download dirs into the facility folder.""" + _ensure_download_folder(dest_folder) + moved: list[Path] = [] + for folder in extra_dirs: + if not folder.exists(): + continue + for src in sorted(folder.glob("*.pdf"), key=lambda p: p.stat().st_mtime): + if src.name in before: + continue + dest = _unique_file_path(dest_folder, src.name) + try: + shutil.move(str(src), str(dest)) + before.add(dest.name) + moved.append(dest) + log_step("Relocated PDF from Chrome download dir", file=dest.name, from_dir=str(folder)) + except Exception as exc: + _log.warning("Could not move %s -> %s: %s", src, dest, exc) + return moved + + +def _wait_for_new_download( + folder: Path, + before: set[str], + timeout: float = DOWNLOAD_TIMEOUT, + *, + extra_watch_dirs: list[Path] | None = None, +) -> list[Path]: + """Poll folder until new PDF(s) appear and .crdownload files finish.""" + deadline = time.time() + timeout + if not folder.exists(): + folder.mkdir(parents=True, exist_ok=True) + + watch = [folder] + if extra_watch_dirs: + watch.extend(extra_watch_dirs) + + while time.time() < deadline: + partial: list[Path] = [] + for d in watch: + if d.exists(): + partial.extend(d.glob("*.crdownload")) + partial.extend(d.glob("*.tmp")) + if partial: + time.sleep(DOWNLOAD_POLL_INTERVAL) + continue + + after = {p.name for p in folder.iterdir() if p.is_file()} + new_names = after - before + new_pdfs = [ + folder / n + for n in new_names + if n.lower().endswith(".pdf") + ] + if new_pdfs: + return sorted(new_pdfs, key=lambda p: p.stat().st_mtime) + + relocated = _relocate_new_pdfs_from_dirs( + [d for d in watch if d != folder], + folder, + before, + ) + if relocated: + return relocated + + time.sleep(DOWNLOAD_POLL_INTERVAL) + + return _relocate_new_pdfs_from_dirs( + [d for d in watch if d != folder], + folder, + before, + ) + + +def _submit_microsoft_totp(driver: WebDriver, totp_secret: str) -> None: + raw = (totp_secret or "").strip() + secret_mapped = validate_totp_secret(raw) + _dbg( + "H1", + "src/onedrive_planner.py:_submit_microsoft_totp", + "TOTP secret sanitized", + { + "raw_len": len(raw), + "sanitized_len": len(secret_mapped), + "had_separators": bool(re.search(r"[\s\-]", raw)), + }, + ) + + totp_input_locators = [ + (By.CSS_SELECTOR, "input[name='otc']"), + (By.CSS_SELECTOR, "input[type='tel']"), + (By.CSS_SELECTOR, "input[inputmode='numeric']"), + (By.XPATH, "//input[contains(@aria-label,'code') or contains(@placeholder,'code')]"), + (By.ID, "idTxtBx_SAOTCC_OTC"), + ] + + for attempt in range(2): + if _is_stay_signed_in_prompt(driver): + _dbg( + "H4", + "src/onedrive_planner.py:_submit_microsoft_totp", + "Stay-signed-in before OTP entry", + {"attempt": attempt + 1}, + ) + return + + if not _otp_input_visible(driver): + _dbg( + "H4", + "src/onedrive_planner.py:_submit_microsoft_totp", + "No OTP field visible", + {"attempt": attempt + 1, "url": (driver.current_url or "")[:120]}, + ) + return + + code = pyotp.TOTP(secret_mapped).now() + print(f"[INFO] Entering Microsoft Authenticator code (attempt {attempt + 1})") + _type_into(driver, totp_input_locators, code, clear=True) + time.sleep(0.5) + + verify_locators = [ + (By.CSS_SELECTOR, "input[type='submit']"), + (By.XPATH, "//input[@type='submit' and (@value='Verify' or @value='Sign in')]"), + (By.XPATH, "//button[@type='submit']"), + (By.ID, "idSubmit_SAOTCC_Continue"), + (By.ID, "idSIButton9"), + ] + try: + _click_any(driver, verify_locators, timeout=WAIT_SHORT) + except TimeoutException: + if _otp_input_visible(driver): + _first_clickable(driver, totp_input_locators).send_keys(Keys.ENTER) + + time.sleep(4) + _dismiss_stay_signed_in(driver) + + stay_prompt = _is_stay_signed_in_prompt(driver) + otp_visible = _otp_input_visible(driver) + on_login = _on_login_host(driver) + + _dbg( + "H4", + "src/onedrive_planner.py:_submit_microsoft_totp", + "After OTP submit", + { + "attempt": attempt + 1, + "url": (driver.current_url or "")[:120], + "on_login_host": on_login, + "otp_field_present": otp_visible, + "stay_prompt_present": stay_prompt, + }, + ) + + if stay_prompt or not on_login or not otp_visible: + return + + print("[WARN] OTP still visible on login host — retrying with fresh code") + time.sleep(5) + + +def _dismiss_stay_signed_in(driver: WebDriver) -> None: + _dbg( + "H4", + "src/onedrive_planner.py:_dismiss_stay_signed_in", + "Checking stay signed in prompt", + { + "url": (driver.current_url or "")[:120], + }, + ) + locators = [ + (By.ID, "idSIButton9"), + (By.ID, "idBtn_Back"), + (By.XPATH, "//input[@type='submit' and @value='Yes']"), + (By.XPATH, "//button[contains(.,'Yes')]"), + (By.XPATH, "//input[@type='submit' and @value='No']"), + (By.XPATH, "//button[contains(.,'No')]"), + ] + try: + # Prefer "No" to reduce extra consent-style steps. + no_first = [ + (By.ID, "idBtn_Back"), + (By.XPATH, "//input[@type='submit' and @value='No']"), + (By.XPATH, "//button[contains(.,'No')]"), + ] + try: + _click_any(driver, no_first, timeout=3) + _dbg("H4", "src/onedrive_planner.py:_dismiss_stay_signed_in", "Clicked No", {}) + except TimeoutException: + _click_any(driver, locators, timeout=8) + _dbg("H4", "src/onedrive_planner.py:_dismiss_stay_signed_in", "Clicked a stay-signed-in button", {}) + time.sleep(2) + except TimeoutException: + pass + + +def _perform_microsoft_login( + driver: WebDriver, + username: str, + password: str, + totp_secret: str, +) -> None: + """Username → password → TOTP → dismiss stay-signed-in. + + Handles password-only prompts when Planner opens with a remembered account. + """ + email_locators = [ + (By.CSS_SELECTOR, "input[type='email']"), + (By.NAME, "loginfmt"), + (By.ID, "i0116"), + ] + next_locators = [ + (By.ID, "idSIButton9"), + (By.CSS_SELECTOR, "input[type='submit']"), + (By.XPATH, "//input[@type='submit' and @value='Next']"), + ] + password_locators = [ + (By.CSS_SELECTOR, "input[type='password']"), + (By.NAME, "passwd"), + (By.ID, "i0118"), + ] + signin_locators = [ + (By.ID, "idSIButton9"), + (By.CSS_SELECTOR, "input[type='submit']"), + (By.XPATH, "//input[@type='submit' and @value='Sign in']"), + (By.XPATH, "//button[@type='submit']"), + ] + + if _email_form_visible(driver): + _log.info("Entering Microsoft username...") + log_step("Microsoft login — enter username") + _wait(driver, WAIT_LONG).until( + EC.element_to_be_clickable(email_locators[0]) + ) + _type_into(driver, email_locators, username.strip()) + _click_any(driver, next_locators) + try: + _wait(driver, WAIT_MED).until( + lambda d: _password_form_visible(d) or not _on_login_host(d) + ) + except TimeoutException: + pass + elif _password_form_visible(driver): + log_step("Microsoft login — password only (account already selected)") + _log.info("Password-only login prompt — skipping username entry") + + if not _password_form_visible(driver): + if not _on_login_host(driver): + return + _log.warning("Expected password field on login page — retrying after brief wait") + try: + _wait(driver, WAIT_SHORT).until(_password_form_visible) + except TimeoutException: + _log.warning("Password field not found on Microsoft login page") + return + + _log.info("Entering Microsoft password...") + log_step("Microsoft login — enter password") + _type_into(driver, password_locators, password, clear=True) + _click_any(driver, signin_locators) + + if _on_login_host(driver): + try: + _wait(driver, WAIT_MED).until( + lambda d: _otp_input_visible(d) + or _is_stay_signed_in_prompt(d) + or not _on_login_host(d) + ) + except TimeoutException: + pass + + if _is_stay_signed_in_prompt(driver): + _dismiss_stay_signed_in(driver) + elif _on_login_host(driver) and _otp_input_visible(driver): + _log.info("MFA / additional verification detected") + _submit_microsoft_totp(driver, totp_secret) + + _dismiss_stay_signed_in(driver) + _dismiss_stay_signed_in(driver) + + +def login_and_open_planner( + driver: WebDriver, + username: str, + password: str, + totp_secret: str, + planner_url: str = DEFAULT_PLANNER_URL, +) -> None: + """ + Open Planner directly (planner.cloud.microsoft), sign in if needed, land on Planner. + """ + if not username.strip() or not password: + raise ValueError("OneDrive Username and OneDrive Password are required in input.xlsx") + + target = (planner_url or DEFAULT_PLANNER_URL).strip() + log_step("Open Planner URL", url=target[:200]) + _dbg("H5", "src/onedrive_planner.py:login_and_open_planner", "Navigate", {"url": target[:160]}) + + if _load_cookies(driver, domain_url="https://planner.cloud.microsoft/"): + log_step("Loaded saved session cookies") + else: + log_step("No cookie jar — full login may be required") + + driver.get(target) + try: + _wait(driver, WAIT_MED).until( + lambda d: _planner_session_ready(d) or _needs_microsoft_login(d) + ) + except TimeoutException: + time.sleep(3) + log_url(driver, "after_navigate") + + if _planner_session_ready(driver): + log_step("Already signed in (cookies/session)") + _switch_to_planner_context(driver) + return + + if _needs_microsoft_login(driver): + log_step("Microsoft login required") + _perform_microsoft_login(driver, username, password, totp_secret) + + _dismiss_stay_signed_in(driver) + + if _needs_microsoft_login(driver): + log_step("Microsoft login still required — retrying") + _perform_microsoft_login(driver, username, password, totp_secret) + _dismiss_stay_signed_in(driver) + + try: + _wait(driver, WAIT_LONG).until(_planner_session_ready) + except TimeoutException as exc: + _dbg( + "H5", + "src/onedrive_planner.py:login_and_open_planner", + "Planner not reached in time", + {"url": (driver.current_url or "")[:160]}, + ) + raise RuntimeError( + "Login did not reach Microsoft Planner. " + f"Current URL: {driver.current_url}" + ) from exc + + _dbg( + "H5", + "src/onedrive_planner.py:login_and_open_planner", + "Planner reached", + {"url": (driver.current_url or "")[:160]}, + ) + _switch_to_planner_context(driver) + _dbg( + "H5", + "src/onedrive_planner.py:login_and_open_planner", + "Planner ready", + {"url": (driver.current_url or "")[:160]}, + ) + log_step("Microsoft Planner login complete") + _save_cookies(driver) + log_step("Saved session cookies for next run") + + +def login_microsoft_onedrive( + driver: WebDriver, + username: str, + password: str, + totp_secret: str, + onedrive_url: str = DEFAULT_ONEDRIVE_URL, +) -> None: + """Deprecated: sign in via OneDrive URL. Use :func:`login_and_open_planner` instead.""" + if not username.strip() or not password: + raise ValueError("OneDrive Username and OneDrive Password are required in input.xlsx") + + print(f"[INFO] Navigating to OneDrive → {onedrive_url[:90]}...") + driver.get(onedrive_url) + time.sleep(3) + + if _on_m365_app(driver) and not _needs_microsoft_login(driver): + print("[INFO] Already signed in to Microsoft 365") + return + + if _needs_microsoft_login(driver): + _perform_microsoft_login(driver, username, password, totp_secret) + + try: + _wait(driver, WAIT_LONG).until( + lambda d: _on_m365_app(d) and not _on_login_host(d) + ) + except TimeoutException as exc: + raise RuntimeError( + "Microsoft login did not complete. " + f"Current URL: {driver.current_url}" + ) from exc + + print("[SUCCESS] Microsoft login complete") + + +def _switch_to_planner_context(driver: WebDriver, *, retries: int = 3) -> bool: + """ + Switch into the iframe that hosts the Planner React app. + + Planner uses different surfaces (My tasks grid, My plans list, plan board) and + the previous "search box" probe is not always present. This version searches + for a frame where *any* Planner UI probes exist and supports one nested iframe. + """ + + probes: list[tuple[str, str]] = [ + # Board task cards (planner.cloud.microsoft plan board) + (By.CSS_SELECTOR, "button[data-testid='attachment-indicator']"), + (By.XPATH, "//label[@role='checkbox']"), + (By.XPATH, "//*[@role='checkbox']"), + # My plans -> Shared filter box + (By.CSS_SELECTOR, "input[placeholder*='Filter'][placeholder*='keyword']"), + (By.XPATH, "//input[contains(@placeholder,'Filter') and contains(@placeholder,'keyword')]"), + # Left-nav / section labels + (By.XPATH, "//*[self::span or self::div][normalize-space()='My plans']"), + (By.XPATH, "//*[self::span or self::div][normalize-space()='My tasks']"), + # Plan view tabs + (By.XPATH, "//*[@role='tab' and (normalize-space()='Board' or normalize-space()='Grid')]"), + (By.XPATH, "//*[contains(@aria-label,'Add task') or normalize-space()='Add task']"), + # Generic search (some views) + (By.CSS_SELECTOR, "input[type='search']"), + (By.CSS_SELECTOR, "[role='searchbox']"), + ] + + def _has_probe() -> bool: + for by, sel in probes: + try: + if driver.find_elements(by, sel): + return True + except Exception: + continue + return False + + def _try_frames(frames) -> bool: + for fr in frames: + try: + # Wait for frame availability (helps when iframe is present but still loading). + try: + _wait(driver, WAIT_SHORT).until(EC.frame_to_be_available_and_switch_to_it(fr)) + except Exception: + driver.switch_to.frame(fr) + + # Give the React app a moment to paint inside this frame. + end = time.time() + 3.0 + while time.time() < end: + if _has_probe(): + return True + time.sleep(0.2) + # One level of nesting (Planner sometimes nests) + nested = driver.find_elements(By.TAG_NAME, "iframe") + if nested: + for nfr in nested: + try: + driver.switch_to.frame(nfr) + end2 = time.time() + 2.0 + while time.time() < end2: + if _has_probe(): + return True + time.sleep(0.2) + driver.switch_to.parent_frame() + except Exception: + try: + driver.switch_to.parent_frame() + except Exception: + pass + driver.switch_to.default_content() + except Exception: + try: + driver.switch_to.default_content() + except Exception: + pass + return False + + for attempt in range(1, retries + 1): + driver.switch_to.default_content() + if _has_probe() or (_on_planner_plan_board(driver) and _board_probes_present(driver)): + return True + + iframes = driver.find_elements(By.TAG_NAME, "iframe") + if not iframes: + time.sleep(1) + continue + + # Prefer likely Planner frames first, but verify using probes. + scored = [] + for fr in iframes: + src = (fr.get_attribute("src") or "").lower() + title = (fr.get_attribute("title") or "").lower() + name = (fr.get_attribute("name") or "").lower() + portal = (fr.get_attribute("data-portal-node") or "").lower() + score = 0 + if "planner" in src or "planner" in title or "planner" in name: + score += 3 + if "myplans" in src or "/webui/" in src: + score += 2 + if portal == "true": + score += 2 + if "tasks" in src or "office" in src: + score += 1 + scored.append((score, fr)) + scored.sort(key=lambda x: x[0], reverse=True) + + if _try_frames([fr for _, fr in scored]): + _log.info("Switched into Planner iframe (attempt %d)", attempt) + return True + + time.sleep(1) + + _log.warning("Planner iframe not detected after %d context attempts", retries) + driver.switch_to.default_content() + return False + + +_LEFT_NAV_TOGGLE_LOCATORS = [ + (By.XPATH, "//button[@aria-label='Left navigation pane']"), + (By.XPATH, "//button[contains(@aria-label,'Left navigation pane')]"), + (By.XPATH, "//button[contains(@aria-label,'navigation pane')]"), +] + +_MY_PLANS_NAV_LOCATORS = [ + (By.XPATH, "//*[self::span or self::div][normalize-space()='My plans']"), + (By.XPATH, "//*[contains(@aria-label,'My plans') or contains(@title,'My plans')]"), + (By.XPATH, "//button[contains(.,'My plans')]"), + (By.XPATH, "//a[contains(.,'My plans')]"), +] + + +def _my_plans_nav_visible(driver: WebDriver) -> bool: + """True when the left-nav My plans entry is visible and clickable.""" + for by, sel in _MY_PLANS_NAV_LOCATORS: + try: + for el in driver.find_elements(by, sel): + if el.is_displayed() and el.is_enabled(): + return True + except Exception: + continue + return False + + +def _left_nav_pane_collapsed(driver: WebDriver) -> bool: + """True when the Planner hamburger menu shows aria-expanded=false.""" + for by, sel in _LEFT_NAV_TOGGLE_LOCATORS: + try: + for btn in driver.find_elements(by, sel): + if not btn.is_displayed(): + continue + expanded = (btn.get_attribute("aria-expanded") or "").strip().lower() + return expanded != "true" + except Exception: + continue + return False + + +def _ensure_left_nav_open(driver: WebDriver) -> None: + """ + Expand the left navigation pane when collapsed. + + On My tasks grid the hamburger (aria-label='Left navigation pane') is often + closed — My plans is hidden until it is clicked. + """ + if _my_plans_nav_visible(driver) and not _left_nav_pane_collapsed(driver): + return + + if _my_plans_nav_visible(driver): + return + + log_step("Open left navigation pane") + _log.info("Left nav collapsed — clicking navigation pane toggle before My plans") + try: + _click_any(driver, _LEFT_NAV_TOGGLE_LOCATORS, timeout=WAIT_SHORT) + time.sleep(1) + except TimeoutException: + _log.warning("Left navigation pane toggle not found") + return + + try: + _wait(driver, WAIT_MED).until(_my_plans_nav_visible) + log_step("Left navigation pane opened") + except TimeoutException: + _log.warning("My plans not visible after opening left navigation pane") + + +def open_my_plans_shared(driver: WebDriver) -> None: + """ + Left nav: My plans -> Shared tab. + + This matches your current UI flow and avoids search-based plan opening. + """ + log_step("Navigate: My plans -> Shared") + log_url(driver, "before") + driver.switch_to.default_content() + _switch_to_planner_context(driver) + _ensure_left_nav_open(driver) + + log_step("Click: My plans") + _click_any(driver, _MY_PLANS_NAV_LOCATORS, timeout=WAIT_LONG) + time.sleep(2) + + shared_locators = [ + (By.XPATH, "//*[self::button or self::div or self::span][normalize-space()='Shared']"), + (By.XPATH, "//*[@role='tab' and normalize-space()='Shared']"), + ] + log_step("Click: Shared tab") + _click_any(driver, shared_locators, timeout=WAIT_LONG) + time.sleep(2) + log_url(driver, "shared_list") + log_step("Opened My plans -> Shared") + + +def _facility_search_terms(facility_name: str) -> list[str]: + """Filter queries to try: full name, then first 3 words, then first 2.""" + name = (facility_name or "").strip() + if not name: + return [] + words = name.split() + terms: list[str] = [] + seen: set[str] = set() + + def _add(term: str) -> None: + t = term.strip() + if not t: + return + key = t.lower() + if key not in seen: + seen.add(key) + terms.append(t) + + _add(name) + if len(words) >= 3: + _add(" ".join(words[:3])) + if len(words) >= 2: + _add(" ".join(words[:2])) + return terms + + +def _shared_list_data_rows(driver: WebDriver) -> list: + """Visible data rows on Shared plans grid (exclude header).""" + rows: list = [] + for row in driver.find_elements(By.CSS_SELECTOR, "[role='row']"): + try: + if not row.is_displayed(): + continue + txt = (row.text or "").strip() + if not txt: + continue + low = txt.lower() + if low.startswith("name") and "shared" in low: + continue + rows.append(row) + except StaleElementReferenceException: + continue + return rows + + +def _row_display_name(row) -> str: + return ((row.text or "").strip().splitlines() or [""])[0].strip() + + +def _row_matches_facility_search(row_name: str, facility_name: str, search_term: str) -> bool: + """True when a filter/list row matches the facility we want.""" + name = (row_name or "").strip().lower() + if not name: + return False + full = (facility_name or "").strip().lower() + term = (search_term or "").strip().lower() + if name == full or full in name or name in full: + return True + if term and (term in name or name.startswith(term)): + return True + words = (facility_name or "").split() + if len(words) >= 2: + short2 = " ".join(words[:2]).lower() + if short2 in name: + return True + if len(words) >= 3: + short3 = " ".join(words[:3]).lower() + if short3 in name: + return True + return False + + +def _filter_shows_no_results(driver: WebDriver) -> bool: + for xpath in _FILTER_EMPTY_STATE_XPATHS: + try: + for el in driver.find_elements(By.XPATH, xpath): + if el.is_displayed(): + return True + except Exception: + continue + return len(_shared_list_data_rows(driver)) == 0 + + +def _type_facility_filter(driver: WebDriver, query: str) -> None: + """Type a keyword into the Shared plans filter box.""" + try: + _click_any(driver, _FILTER_BUTTON_LOCATORS, timeout=3) + time.sleep(0.4) + except TimeoutException: + pass + typed = False + for by, sel in _FILTER_INPUT_LOCATORS: + try: + el = driver.find_element(by, sel) + if el.is_displayed() and el.is_enabled(): + _js_click(driver, el) + el.send_keys(Keys.CONTROL, "a") + el.send_keys(Keys.BACKSPACE) + el.send_keys(query) + try: + el.send_keys(Keys.ENTER) + except Exception: + pass + typed = True + break + except Exception: + continue + if not typed: + _type_into(driver, _FILTER_INPUT_LOCATORS, query, clear=True) + try: + _first_clickable(driver, _FILTER_INPUT_LOCATORS, timeout=3).send_keys(Keys.ENTER) + except Exception: + pass + time.sleep(1.2) + try: + _wait(driver, WAIT_MED).until( + lambda d: bool(_shared_list_data_rows(d)) + or _filter_shows_no_results(d) + ) + except TimeoutException: + pass + + +def _click_row_open_plan(driver: WebDriver, row) -> None: + for xpath in ( + ".//a[1]", + ".//button[1]", + ".//*[@role='gridcell']//a[1]", + ".//*[@role='gridcell']//button[1]", + ".//*[@role='gridcell']", + ): + try: + el = row.find_element(By.XPATH, xpath) + if el.is_displayed() and el.is_enabled(): + _js_click(driver, el) + return + except Exception: + continue + ActionChains(driver).double_click(row).perform() + + +def _open_facility_from_shared_list(driver: WebDriver, facility_name: str) -> None: + """ + From My plans -> Shared list, try clicking the facility directly from the list + (scrolling if needed). If it cannot be found, fall back to Filter by keyword + (type + Enter) and click the first row. + After clicking a facility, wait 30s for the plan page. If it is still not ready, + refresh and reopen the facility once. + """ + log_step("Open facility from Shared list", facility=facility_name) + log_url(driver, "shared") + _agent_log( + "F1", + "src/onedrive_planner.py:_open_facility_from_shared_list", + "Enter", + {"facility": facility_name[:80], "url": (driver.current_url or "")[:160]}, + ) + + def _plan_loaded(d: WebDriver) -> bool: + return _plan_page_ready(d) + + def _click_filter_result_row(search_term: str) -> bool: + rows = _shared_list_data_rows(driver) + if not rows: + return False + chosen = None + for row in rows: + name = _row_display_name(row) + if _row_matches_facility_search(name, facility_name, search_term): + chosen = row + break + if chosen is None: + chosen = rows[0] + row_name = _row_display_name(chosen) + log_step( + "Click filter result row", + facility=facility_name, + row=row_name[:60], + query=search_term[:40], + ) + _agent_dbg_eb( + "F3", + "onedrive_planner:_open_facility_from_shared_list", + "filter_row_click", + {"row": row_name[:80], "query": search_term[:40]}, + ) + _click_row_open_plan(driver, chosen) + time.sleep(0.5) + return True + + def _try_filter_search() -> bool: + for term in _facility_search_terms(facility_name): + log_step("Filter by keyword", facility=facility_name, query=term[:60]) + _type_facility_filter(driver, term) + if _filter_shows_no_results(driver): + log_step("Filter returned no results", query=term[:60], facility=facility_name) + continue + rows = _shared_list_data_rows(driver) + log_step( + "Filter results", + rows=len(rows), + query=term[:60], + facility=facility_name, + ) + if rows and _click_filter_result_row(term): + return True + return False + + def _click_facility_from_list() -> bool: + """ + Try to click the facility in the visible Shared list without typing. + Scrolls the grid to load more rows. + """ + target = facility_name.strip().lower() + if not target: + return False + + grid_body_locators = [ + (By.XPATH, "//*[contains(@class,'DataGridBody')]"), + (By.XPATH, "//*[@role='rowgroup']"), + ] + try: + grid = _first_clickable(driver, grid_body_locators, timeout=5) + except Exception: + grid = None + + def _rows(): + # Some builds don't expose aria-rowindex. Use role=row and filter out header-like rows. + rows = driver.find_elements(By.CSS_SELECTOR, "[role='row']") + filtered = [] + for r in rows: + try: + if not r.is_displayed(): + continue + txt = (r.text or "").strip().lower() + if not txt: + continue + # Skip header rows that contain column names + if txt.startswith("name") and "shared" in txt: + continue + filtered.append(r) + except Exception: + continue + return filtered + + for _ in range(30): + for row in _rows(): + try: + if not row.is_displayed(): + continue + txt = (row.text or "").strip() + if not txt: + continue + name = txt.splitlines()[0].strip() + key = name.lower() + if key in _PROCESSED_SHARED_FACILITIES: + continue + if not _row_matches_facility_search(name, facility_name, facility_name): + continue + log_step("Matched facility in Shared list", facility=facility_name, row=name) + _agent_log( + "F2", + "src/onedrive_planner.py:_open_facility_from_shared_list", + "Matched facility in list", + {"facility": facility_name[:80], "row_name": name[:80]}, + ) + _click_row_open_plan(driver, row) + _PROCESSED_SHARED_FACILITIES.add(key) + return True + except StaleElementReferenceException: + continue + + try: + if grid is not None: + driver.execute_script("arguments[0].scrollTop = arguments[0].scrollTop + 700;", grid) + else: + driver.find_element(By.TAG_NAME, "body").send_keys(Keys.PAGE_DOWN) + except Exception: + pass + time.sleep(0.6) + return False + + driver.switch_to.default_content() + ctx_ok = _switch_to_planner_context(driver) + _agent_log( + "F1", + "src/onedrive_planner.py:_open_facility_from_shared_list", + "After switch_to_planner_context", + {"ok": bool(ctx_ok), "url": (driver.current_url or "")[:160]}, + ) + + def _click_facility_open() -> None: + opened = False + if _click_facility_from_list(): + log_step("Opened facility from visible list", facility=facility_name) + opened = True + elif _try_filter_search(): + log_step("Opened facility from filter search", facility=facility_name) + opened = True + if not opened: + tried = _facility_search_terms(facility_name) + log_step( + "Facility not appear in Shared search", + facility=facility_name, + queries="; ".join(tried[:3]), + ) + _agent_dbg_eb( + "F4", + "onedrive_planner:_open_facility_from_shared_list", + "not_appear", + {"facility": facility_name[:80], "queries": tried}, + ) + raise FacilityNotFoundError(f"{FACILITY_NOT_APPEAR_MSG}: {facility_name}") + print(f"[MISF] Facility clicked: {facility_name}", flush=True) + log_step("Facility clicked", facility=facility_name) + + def _wait_after_facility_click() -> None: + print( + f"[MISF] Waiting up to {POST_FACILITY_CLICK_WAIT}s for plan page to load " + f"({facility_name})...", + flush=True, + ) + log_step( + "Wait after facility click", + facility=facility_name, + seconds=POST_FACILITY_CLICK_WAIT, + ) + remaining = POST_FACILITY_CLICK_WAIT + poll_secs = 2 + while remaining > 0: + if _plan_load_error_present(driver): + log_step("Plan load error during wait", facility=facility_name) + _click_plan_try_again(driver) + if _plan_loaded(driver): + waited = POST_FACILITY_CLICK_WAIT - remaining + print( + f"[MISF] Plan page loaded after {waited}s (stopped early).", + flush=True, + ) + log_step( + "Plan loaded during wait", + facility=facility_name, + waited_secs=waited, + ) + return + chunk = min(poll_secs, remaining) + time.sleep(chunk) + remaining -= chunk + if remaining > 0: + print(f"[MISF] ... {remaining}s remaining", flush=True) + print(f"[MISF] Done waiting {POST_FACILITY_CLICK_WAIT} seconds.", flush=True) + log_step("Finished wait after facility click", facility=facility_name, seconds=POST_FACILITY_CLICK_WAIT) + + def _finish_if_plan_ready() -> bool: + if _plan_load_error_present(driver): + log_step("Plan load error before finish", facility=facility_name) + _click_plan_try_again(driver) + time.sleep(4) + if not _plan_loaded(driver): + focus_facility_plan_tab(driver) + if _plan_load_error_present(driver): + _click_plan_try_again(driver) + time.sleep(4) + if not _plan_loaded(driver): + return False + focus_facility_plan_tab(driver) + log_url(driver, "plan_loaded") + log_step("Plan loaded", facility=facility_name) + time.sleep(POST_FACILITY_LOAD_DELAY) + log_step("Post-load stabilize complete", seconds=POST_FACILITY_LOAD_DELAY) + return True + + def _refresh_and_reopen_facility() -> None: + log_step("Plan still not ready — refreshing page", facility=facility_name) + _log.warning("Plan not ready after %ss wait — refreshing: %s", POST_FACILITY_CLICK_WAIT, facility_name) + driver.refresh() + time.sleep(5) + driver.switch_to.default_content() + _switch_to_planner_context(driver) + open_my_plans_shared(driver) + _click_facility_open() + _wait_after_facility_click() + + # Primary: click from list (scroll). Fallback: filter + first row. + try: + _click_facility_open() + except Exception: + log_step("Facility open failed — will refresh and retry", facility=facility_name) + _log.warning("Facility open failed; refreshing and retrying: %s", facility_name) + driver.refresh() + time.sleep(5) + driver.switch_to.default_content() + _switch_to_planner_context(driver) + open_my_plans_shared(driver) + _click_facility_open() + + _wait_after_facility_click() + + if _finish_if_plan_ready(): + return + + _refresh_and_reopen_facility() + + if _finish_if_plan_ready(): + log_step("Plan loaded after refresh", facility=facility_name) + return + + log_step("Wait for plan after refresh", timeout_secs=FACILITY_LOAD_AFTER_REFRESH) + try: + _wait(driver, FACILITY_LOAD_AFTER_REFRESH).until(_plan_loaded) + time.sleep(POST_FACILITY_LOAD_DELAY) + log_step("Plan loaded after refresh (waited)", facility=facility_name) + except TimeoutException as exc: + raise TimeoutException( + f"Plan did not load for facility '{facility_name}' after " + f"{POST_FACILITY_CLICK_WAIT}s wait + refresh" + ) from exc + + +def _ensure_board_view(driver: WebDriver) -> None: + board_locators = [ + (By.XPATH, "//*[@role='tab' and normalize-space()='Board']"), + (By.XPATH, "//*[self::button or self::div][normalize-space()='Board']"), + ] + try: + log_step("Switch to Board view") + _click_any(driver, board_locators, timeout=8) + time.sleep(2) + log_url(driver, "board") + except TimeoutException: + log_step("Board tab not found (continuing on current view)") + + +def _ensure_grid_view(driver: WebDriver) -> None: + grid_locators = [ + (By.CSS_SELECTOR, "button#gridViewPivot"), + (By.XPATH, "//*[@role='tab' and normalize-space()='Grid']"), + (By.XPATH, "//button[@value='grid' and @id='gridViewPivot']"), + (By.XPATH, "//*[self::button or self::div][normalize-space()='Grid']"), + ] + try: + log_step("Switch to Grid view") + _click_any(driver, grid_locators, timeout=8) + time.sleep(PANEL_TAB_LOAD_DELAY) + log_url(driver, "grid") + except TimeoutException: + log_step("Grid tab not found (continuing on current view)") + + +def _status_column_header_locators() -> list[tuple[str, str]]: + return [ + (By.CSS_SELECTOR, "#ColumnHeaderCell_status"), + (By.CSS_SELECTOR, "#ColumnHeaderCell_progress"), + (By.XPATH, "//div[@role='columnheader' and @aria-label='Status']"), + (By.XPATH, "//div[@role='columnheader' and @aria-label='Progress']"), + ] + + +def _is_status_sorted_descending(header) -> bool: + sort = (header.get_attribute("aria-sort") or "").strip().lower() + return sort == "descending" + + +def _sort_descending_menu_selected(driver: WebDriver) -> bool: + """True when the column header menu shows Sort Descending as active.""" + probes = [ + "//button[@name='Sort Descending' and @aria-checked='true']", + "//button[@name='Sort Descending' and contains(@class,'is-checked')]", + "//button[@name='Sort Descending']//*[@data-icon-name='CheckMark']", + ( + "//button[@name='Sort Descending']" + "/ancestor::li[contains(@class,'is-checked') or contains(@class,'is-selected')]" + ), + ] + for xpath in probes: + try: + for el in driver.find_elements(By.XPATH, xpath): + if el.is_displayed(): + return True + except StaleElementReferenceException: + continue + return False + + +def _dismiss_open_menu(driver: WebDriver) -> None: + try: + driver.find_element(By.TAG_NAME, "body").send_keys(Keys.ESCAPE) + time.sleep(0.3) + except Exception: + pass + + +def _ensure_status_sort_descending(driver: WebDriver) -> None: + """Open Status column menu and apply Sort Descending when not already set.""" + log_step("Ensure Status column sorted descending") + try: + header = _first_clickable(driver, _status_column_header_locators(), timeout=8) + except TimeoutException: + log_step("Status column header not found (continuing on current sort)") + return + + if _is_status_sorted_descending(header): + log_step("Status column already sorted descending") + return + + _js_click(driver, header) + time.sleep(0.5) + + if _sort_descending_menu_selected(driver): + log_step("Status column already sorted descending (menu check)") + _dismiss_open_menu(driver) + return + + sort_locators = [ + (By.XPATH, "//button[@name='Sort Descending' and @role='menuitem']"), + ( + By.XPATH, + "//ul[contains(@class,'ContextualMenu')]" + "//button[normalize-space()='Sort Descending']", + ), + (By.XPATH, "//button[@role='menuitem' and normalize-space()='Sort Descending']"), + ] + try: + _click_any(driver, sort_locators, timeout=5) + time.sleep(1) + try: + header = _first_clickable(driver, _status_column_header_locators(), timeout=3) + if _is_status_sorted_descending(header): + log_step("Status column sorted descending") + else: + log_step("Status column sort descending applied (aria-sort not confirmed)") + except TimeoutException: + log_step("Status column sort descending clicked") + except TimeoutException: + log_step("Sort Descending menu item not found (continuing on current sort)") + _dismiss_open_menu(driver) + + +def _grid_probes_present(driver: WebDriver) -> bool: + probes = ( + "[role='grid'].grid-container", + ".grid-container[role='grid']", + "div.grid-container", + "button#gridViewPivot", + ) + for sel in probes: + for el in driver.find_elements(By.CSS_SELECTOR, sel): + if el.is_displayed(): + return True + return False + + +def _grid_scrollable_element(driver: WebDriver): + for sel in ( + ".grid-virtualized-container", + "[role='grid'].grid-container", + ".grid-container[role='grid']", + ): + for el in driver.find_elements(By.CSS_SELECTOR, sel): + if el.is_displayed(): + return el + return None + + +def _grid_visible_data_rows(driver: WebDriver) -> list: + rows: list = [] + for row in driver.find_elements(By.CSS_SELECTOR, "div[role='row'][aria-rowindex]"): + try: + if not row.is_displayed(): + continue + idx_raw = row.get_attribute("aria-rowindex") or "" + if idx_raw.isdigit() and int(idx_raw) < 1: + continue + rows.append(row) + except StaleElementReferenceException: + continue + return rows + + +def _parse_status_blob(blob: str) -> str | None: + low = (blob or "").strip().lower() + if not low: + return None + if "not started" in low or low in ("notstarted", "not_started"): + return "not started" + if "in progress" in low or low in ("inprogress", "in_progress"): + return "in progress" + if "completed" in low or low == "completed": + return "completed" + return None + + +def _grid_row_status(row) -> str | None: + """Read Status column: not started / in progress / completed.""" + try: + for cell in row.find_elements(By.XPATH, ".//*[@role='gridcell']"): + aria = (cell.get_attribute("aria-label") or "").strip() + if not aria.lower().startswith("status"): + continue + for btn in cell.find_elements(By.XPATH, ".//button[@role='combobox']"): + if not btn.is_displayed(): + continue + parsed = _parse_status_blob( + (btn.get_attribute("value") or "") + " " + (btn.text or "") + ) + if parsed: + return parsed + parsed = _parse_status_blob((cell.text or "") + " " + aria) + if parsed: + return parsed + + for btn in row.find_elements(By.XPATH, ".//button[@role='combobox']"): + if not btn.is_displayed(): + continue + parsed = _parse_status_blob( + (btn.get_attribute("value") or "") + " " + (btn.text or "") + ) + if parsed: + return parsed + + for cell in row.find_elements(By.XPATH, ".//*[@role='gridcell']"): + parsed = _parse_status_blob(cell.text or "") + if parsed: + return parsed + except StaleElementReferenceException: + return None + return None + + +def _grid_row_task_name(row) -> str: + try: + for cell in row.find_elements(By.XPATH, ".//*[@role='gridcell']"): + aria = (cell.get_attribute("aria-label") or "").strip() + if aria.lower().startswith("task name"): + # e.g. "Task Name Missing Insurance Info" + prefix = "task name" + rest = _clean_grid_task_title(aria[len(prefix) :].strip()) + if rest: + return rest + for span in cell.find_elements(By.XPATH, ".//span[normalize-space()]"): + text = _clean_grid_task_title((span.text or "").strip()) + if not text: + continue + low = text.lower() + if low in ("not started", "in progress", "completed", "to do", "important", "medium"): + continue + if len(text) > 2: + return text + for line in (row.text or "").splitlines(): + line = _clean_grid_task_title(line.strip()) + if line and line.lower() not in ("not started", "in progress", "completed", "to do"): + return line + except StaleElementReferenceException: + return "" + return "" + + +def _grid_task_name_cell(row): + try: + for cell in row.find_elements(By.XPATH, ".//*[@role='gridcell']"): + aria = (cell.get_attribute("aria-label") or "").lower() + if aria.startswith("task name"): + return cell + cells = row.find_elements(By.XPATH, ".//*[@role='gridcell']") + return cells[0] if cells else None + except StaleElementReferenceException: + return None + + +def _open_grid_row_details(driver: WebDriver, row) -> bool: + """Hover task name, click Open details icon.""" + try: + name_cell = _grid_task_name_cell(row) + if name_cell is None: + return False + _hover_element(driver, name_cell) + time.sleep(0.6) + open_xpaths = ( + ".//button[contains(@aria-label,'Open details')]", + ".//*[@data-testid='quick-actions-wrapper']//button[1]", + ".//button[contains(@aria-label,'details')]", + ) + for xpath in open_xpaths: + for btn in row.find_elements(By.XPATH, xpath): + if not btn.is_displayed(): + continue + _js_click(driver, btn) + time.sleep(PANEL_TAB_LOAD_DELAY) + if _task_details_panel_open(driver): + time.sleep(PANEL_TAB_LOAD_DELAY) + log_step("Opened task via grid Open details") + return True + for btn in name_cell.find_elements(By.XPATH, ".//button"): + if not btn.is_displayed(): + continue + aria = (btn.get_attribute("aria-label") or "").lower() + if "open details" in aria or aria == "open details (alt+i)": + _js_click(driver, btn) + time.sleep(PANEL_TAB_LOAD_DELAY) + if _task_details_panel_open(driver): + time.sleep(PANEL_TAB_LOAD_DELAY) + log_step("Opened task via grid Open details (name cell)") + return True + except StaleElementReferenceException: + return False + return False + + +def _scroll_grid_to_top(driver: WebDriver) -> None: + scroll_el = _grid_scrollable_element(driver) + if scroll_el is not None: + driver.execute_script("arguments[0].scrollTop = 0;", scroll_el) + time.sleep(0.4) + + +def _scroll_grid_down(driver: WebDriver, pixels: int = 450) -> None: + scroll_el = _grid_scrollable_element(driver) + if scroll_el is not None: + driver.execute_script("arguments[0].scrollTop += arguments[1];", scroll_el, pixels) + else: + driver.execute_script("window.scrollBy(0, arguments[0]);", pixels) + time.sleep(0.4) + + +def _scan_grid_not_started_titles(driver: WebDriver, *, max_scrolls: int = 100) -> list[str]: + """Scroll the virtualized grid and collect Not started task titles.""" + _scroll_grid_to_top(driver) + seen: set[str] = set() + titles: list[str] = [] + stagnant = 0 + for _ in range(max_scrolls): + new_this_pass = 0 + for row in _grid_visible_data_rows(driver): + status = _grid_row_status(row) + if status != "not started": + continue + title = _grid_row_task_name(row).strip() + if not title or _is_weak_task_title_key(title.lower()): + continue + key = title.lower() + if key in seen: + continue + seen.add(key) + titles.append(title) + new_this_pass += 1 + if new_this_pass == 0: + stagnant += 1 + if stagnant >= 4: + break + else: + stagnant = 0 + _scroll_grid_down(driver) + _scroll_grid_to_top(driver) + log_step("Grid not-started tasks scanned", count=len(titles)) + return titles + + +def _find_grid_row_by_title(driver: WebDriver, title: str, *, max_scrolls: int = 100): + want = _clean_grid_task_title(title).strip().lower() + if not want: + return None + _scroll_grid_to_top(driver) + for _ in range(max_scrolls): + for row in _grid_visible_data_rows(driver): + name = _grid_row_task_name(row).strip().lower() + if name == want or (name and (want in name or name in want)): + return row + _scroll_grid_down(driver) + return None + + +def _panel_task_status(driver: WebDriver) -> str | None: + """Read Not started / In progress / Completed from the open task panel.""" + _task_details_tab_locators = [ + (By.XPATH, "//*[@role='tab' and normalize-space()='Task details']"), + (By.XPATH, "//*[@role='tab' and contains(normalize-space(),'Task details')]"), + (By.XPATH, "//button[normalize-space()='Task details']"), + (By.XPATH, "//*[self::button or self::div][normalize-space()='Task details']"), + ] + panel_status = None + for _ps_round in range(2): + try: + _click_any(driver, _task_details_tab_locators, timeout=WAIT_SHORT) + time.sleep(PANEL_TAB_LOAD_DELAY) + except Exception: + log_step("Task details tab not clickable for status check") + for _ps_attempt in range(4): + panel_status = _task_details_progress_status(driver) + if panel_status: + break + time.sleep(1.0) + if panel_status: + break + return panel_status + + +def _ensure_board_scan_context(driver: WebDriver) -> str: + """ + Leave WebDriver focused on the document/frame that contains the plan board. + + planner.cloud.microsoft plan/board often renders in default_content, not an iframe. + """ + driver.switch_to.default_content() + if _board_probes_present(driver): + log_step("Board scan context", frame="default_content") + return "default_content" + + if _switch_to_planner_context(driver) and _board_probes_present(driver): + log_step("Board scan context", frame="planner_iframe") + return "planner_iframe" + + driver.switch_to.default_content() + for idx, fr in enumerate(driver.find_elements(By.TAG_NAME, "iframe")): + try: + driver.switch_to.default_content() + driver.switch_to.frame(fr) + if _board_probes_present(driver): + log_step("Board scan context", frame=f"iframe_{idx}") + return f"iframe_{idx}" + except Exception: + continue + + driver.switch_to.default_content() + log_step("Board scan context", frame="default_content_fallback") + return "default_content_fallback" + + +def _find_in_best_board_context(driver: WebDriver, xpath: str) -> list: + """Search default content and all iframes; stay in the frame with the most matches.""" + best: list = [] + best_switch = None + + def _count_in_current() -> list: + visible = [] + for el in driver.find_elements(By.XPATH, xpath): + try: + if el.is_displayed(): + visible.append(el) + except StaleElementReferenceException: + continue + return visible + + driver.switch_to.default_content() + default_hits = _count_in_current() + if len(default_hits) >= len(best): + best = default_hits + best_switch = lambda: driver.switch_to.default_content() + + driver.switch_to.default_content() + for idx, fr in enumerate(driver.find_elements(By.TAG_NAME, "iframe")): + try: + driver.switch_to.default_content() + driver.switch_to.frame(fr) + hits = _count_in_current() + if len(hits) > len(best): + + def _make_switch(f=fr): + def _sw(): + driver.switch_to.default_content() + driver.switch_to.frame(f) + + return _sw + + best = hits + best_switch = _make_switch() + except Exception: + continue + + if best_switch is not None: + best_switch() + return best + + +def _wait_for_board_ready(driver: WebDriver, timeout: float = 45.0) -> None: + """Wait until task cards or attachment indicators appear on the board.""" + _ensure_board_scan_context(driver) + deadline = time.time() + timeout + while time.time() < deadline: + if _find_in_best_board_context( + driver, + "//button[@data-testid='attachment-indicator']", + ): + return + if _find_in_best_board_context(driver, "//label[@role='checkbox' and @aria-checked='false']"): + return + if _find_in_best_board_context(driver, "//*[@role='checkbox' and @aria-checked='false']"): + return + if driver.find_elements(By.CSS_SELECTOR, "[data-testid='task-board-column-body']"): + return + time.sleep(0.5) + log_step("Board task elements not visible yet (continuing scan)") + + +_TASK_CARD_ANCESTOR_XPATHS = [ + *_PLANNER_TASK_CARD_XPATHS, + # UiPath: single card = checkbox + title textbox (tightest match). + "./ancestor::div[(.//label[@role='checkbox'] or .//button[@role='checkbox']) and .//*[@role='textbox']][1]", + "./ancestor::button[(.//label[@role='checkbox'] or .//button[@role='checkbox']) and .//*[@role='textbox']][1]", + "./ancestor::div[.//button[@data-testid='attachment-indicator']][(.//label[@role='checkbox'] or .//button[@role='checkbox'])][1]", + "./ancestor::div[(.//label[@role='checkbox'] or .//button[@role='checkbox']) and (.//*[@role='textbox'] or .//*[contains(@class,'textbox')])][1]", + "./ancestor::div[.//button[@data-testid='attachment-indicator']][1]", + "./ancestor::*[contains(@data-testid,'task')][1]", + "./ancestor::button[contains(@data-testid,'task') or contains(@class,'Task')][1]", + "./ancestor::div[contains(@class,'TaskCard') or contains(@class,'taskCard')][1]", + "./ancestor::div[contains(@class,'baseCard')][1]", + # Sibling-layout: checkbox and indicator share a parent/grandparent without nesting + # (occurs when task-card is a