Ilias Extract is a Rust command-line tool that extracts submissions zip files downloaded from Ilias and organizes them into a structured folder. It can also generate summary Markdown files for each team.
| Feature | Description |
|---|---|
| 📥 Extract Submissions | Unzip and organize student submissions automatically. |
| 📝 Generate Summaries | Optionally generate a Markdown summary file for each student. |
output/
├── alice123_bob345/
│ ├── submission_1.pdf
│ ├── submission_2.txt
│ └── summary.md # if run with --summary
├── john425/
│ ├── submission_1.txt
│ └── summary.md
Build from source using Cargo:
git clone https://github.com/oskmasi/ilias-extract.git
cd ilias-extract
cargo build --releaseThe executable will be available in:
target/release/ilias-extract
ilias-extract <INPUT_ZIP> <OUTPUT_DIR> [OPTIONS]| Flag | Description |
|---|---|
-s, --summary |
Generate a Markdown summary for each student. |
-o, --overwrite |
Enable overwriting of existing files. |
--purge |
Clear the target directory before extraction (⚠ careful!). |
-v, --verbose |
Enable verbose output. |
| Command | Description |
|---|---|
ilias-extract submissions.zip ./output |
Basic extraction. |
ilias-extract submissions.zip ./output --summary |
Generate summaries for each team. |
ilias-extract submissions.zip ./output -s --purge |
Clears output folder and generates summaries for each team. |
clap– Command-line argument parsinganyhow– Error handlingzip– Zip file handlingregex– Regex pattern matchingcalamine– Excel file readingtempfile– Temporary file handlingchrono– Date and time utilities
Contributions, issues, and feature requests are welcome! Feel free to fork the repo and submit a pull request.
Transparency: This README.md has been AI-generated. The code is entirely human though