1 unstable release
0.5.0 | Oct 31, 2021 |
---|
#131 in #front-end
105KB
2.5K
SLoC
mensa
CLI tool to query the menu of canteens contained in the OpenMensa database.
Features
- Runs on Linux, macOS and Windows.
- Custom filters and favourites using CLI flags or the optional configuration file.
- List canteens close to you based on GeoIP.
- All request are cached locally.
- Fuzzy date parsing based on date_time_parser.
- List your favourite meals in canteens close to your location.
- JSON Output
Installation
Cargo
Only nightly Rust supported at the moment.
$ cargo install --git https://github.com/MalteT/mensa
Nix
This is a Nix Flake, add it to your configuration or just test the application with:
$ nix run github:MalteT/mensa
Usage
See mensa --help
.
mensa meals
will show meals served today for the default canteen mentioned in the configuration. If no such configuration exists, trymensa meals --id 63
. You can find the id for your canteen usingmensa canteens
lists canteens near you based on your current IP in a default radius of 10km.mensa tags
will list the currently known meal tags like "12 Nuts".
Examples
Meals on monday (Click me!)
You can omit the -i/--id
if you've configured a default id in the config.toml.
$ mensa meals -d mon -i 63
Leipzig, Mensa am Park
┊
┊ ╭───╴Bohnengemüse
┊ ├─╴Gemüsebeilage 🌱
┊ ╰╴( 0.55€ )
...
Canteens near your location (Click me!)
$ mensa canteens
70 Leipzig, Cafeteria Dittrichring
Dittrichring 21, 04109 Leipzig
63 Leipzig, Mensa am Park
Universitätsstraße 5, 04109 Leipzig
...
All currently known tags (Click me!)
$ mensa tags
0 Acidifier
Contains artificial acidifier
1 Alcohol
Contains alcohol
2 Antioxidant
Contains an antioxidant
...
Meals of canteens close to your location next sunday (Click me!)
$ mensa meals close --date sun
Leipzig, Cafeteria Dittrichring
┊
┊ ╭───╴Vegetarisch gefüllte Zucchini
┊ ├─╴Vegetarisches Gericht 🧀
┊ ├╴Rucola-Kartoffelpüree
┊ ├╴Tomaten-Ratatouille-Soße
┊ ╰╴( 2.65€ ) 2 11 12 19
Leipzig, Mensa am Park
┊
┊ ╭───╴Apfelrotkohl
┊ ├─╴Gemüsebeilage 🌱
┊ ╰╴( 0.55€ ) 2
...
Count OpenMensa's canteens (Click me!)
$ mensa canteens --all --json | jq '.[].id' | wc -l
704
Configuration (Optional)
See config.toml for an example. Copy the file to:
$XDG_CONFIG_DIR/mensa/config.toml
on Linux,$HOME/Library/Application Support/mensa/config.toml
on macOS,{FOLDERID_RoamingAppData}\mensa\config.toml
on Windows
License: MIT
Dependencies
~15–31MB
~499K SLoC