Update Home.md with current project status (download module, auth, tests)
+50
@@ -0,0 +1,50 @@
|
||||
# Cantaloupe Downloader
|
||||
|
||||
Automation for exporting machine data from mycantaloupe.com.
|
||||
|
||||
**Repo:** [shawn/cantaloupe-downloader](https://gitea.ourpad.casa/shawn/cantaloupe-downloader)
|
||||
**Local:** `~/projects/cantaloupe-downloader/`
|
||||
|
||||
## Purpose
|
||||
|
||||
CLI tool to authenticate with mycantaloupe.com and download the Machine List Excel export via direct HTTP (httpx) — no browser automation needed.
|
||||
|
||||
## Architecture
|
||||
|
||||
- **`src/auth.py`** — ASP.NET FormsAuth login (CSRF token + session cookies via httpx)
|
||||
- **`src/download.py`** — Export download automation
|
||||
- Authenticate → verify access → POST `/cs4/VueMachineList/ExcelExport` → save .xlsx
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
cd ~/projects/cantaloupe-downloader
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Set credentials
|
||||
export CANTALOUPE_EMAIL="your@email.com"
|
||||
export CANTALOUPE_PASSWORD="your-password"
|
||||
|
||||
# Download export
|
||||
python -m src.download
|
||||
# Output: ~/cantaloupe-exports/Machine List_YYYYMMDD_HHMMSS.xlsx
|
||||
```
|
||||
|
||||
## API Details
|
||||
|
||||
See [API Investigation](https://gitea.ourpad.casa/shawn/cantaloupe-downloader/wiki/API) for full endpoint documentation.
|
||||
|
||||
- **Auth**: `POST /login/api/SignIn/SignIn/en-US` with CSRF token
|
||||
- **Export**: `POST /cs4/VueMachineList/ExcelExport` → .xlsx (60+ columns)
|
||||
- **Cookies**: ASP.NET_SessionId, ApplicationGatewayAffinity, AeonPrincipalCacheVersion
|
||||
|
||||
## Test Status
|
||||
|
||||
47 tests passing (27 auth + 20 download) as of commit `b5ae89a`.
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Required | Description |
|
||||
|---|---|---|
|
||||
| `CANTALOUPE_EMAIL` | Yes | mycantaloupe.com login email |
|
||||
| `CANTALOUPE_PASSWORD` | Yes | mycantaloupe.com login password |
|
||||
Reference in New Issue
Block a user