A command-line tool to fetch and display upcoming hockey games from an iCal feed. Supports filtering by team and exporting to iCal format for import into other calendar services.
- Fetch games from any iCal feed URL
- Filter to show only games for a specific team
- Display in human-readable format or export as iCal or CSV
- Configurable number of upcoming games to show
Requires Rust. Build with:
cargo build --releaseThe binary will be at target/release/hockey-schedule.
hockey-schedule [OPTIONS]
Options:
-u, --url <URL> iCal feed URL [env: HOCKEY_ICAL_URL] [default: https://example.com/hockey-schedule.ics]
-n, --num <NUM> Number of upcoming games to show [default: 10]
-t, --team <TEAM> Filter to only games involving this team (case-insensitive)
--ics Output as iCal format instead of human-readable text
--csv Output as CSV format
-h, --help Print help
You can set the iCal feed URL via an environment variable instead of passing it as a flag each time:
export HOCKEY_ICAL_URL="https://example.com/schedule.ics"Add this to your ~/.bashrc or ~/.zshrc to make it permanent. The --url flag takes precedence over the environment variable if both are provided.
Show next 10 upcoming games:
hockey-schedule --url "https://example.com/schedule.ics"Show only Raptors games:
hockey-schedule --url "https://example.com/schedule.ics" --team RaptorsExport Raptors games to an iCal file for import into another calendar:
hockey-schedule --url "https://example.com/schedule.ics" --team Raptors --ics > raptors-games.icsExport to CSV for spreadsheets:
hockey-schedule --url "https://example.com/schedule.ics" --team Raptors --csv > raptors-games.csvShow only the next 5 games:
hockey-schedule --url "https://example.com/schedule.ics" --num 5reqwest- HTTP client for fetching iCal feedsical- iCal format parserchrono- Date/time handlingclap- CLI argument parsinganyhow- Error handlingregex- Parsing location/address fields