#cli-tool #config-file #cli #front-end #openmensa #uni

app mensa

CLI 工具,用于查询 OpenMensa 数据库中包含的食堂菜单

1 个不稳定版本

0.5.0 2021年10月31日

#front-end 中排名第 131

MIT 许可证

105KB
2.5K SLoC

mensa CLI logo

tests

mensa

CLI 工具,用于查询 OpenMensa 数据库中包含的食堂菜单。

特性

  • 支持 Linux、macOS 和 Windows 系统。
  • 使用 CLI 标志或可选的配置文件自定义过滤器和收藏。
  • 基于 GeoIP 列出附近的食堂。
  • 所有请求都本地缓存。
  • 基于 date_time_parser 的模糊日期解析。
  • 列出你所在位置附近的食堂中的收藏菜式。
  • JSON 输出

example

安装

Cargo

目前仅支持 nightly Rust.

$ cargo install --git https://github.com/MalteT/mensa

Nix

这是一个 Nix Flake,将其添加到您的配置中或使用以下命令测试应用程序:

$ nix run github:MalteT/mensa

用法

请参阅 mensa --help

  • mensa meals 将显示配置中提到的默认食堂今天提供的餐点。如果不存在此类配置,请尝试 mensa meals --id 63。您可以使用以下方法找到您食堂的 ID:
  • mensa canteens 根据您的当前 IP 在默认半径 10 公里的范围内列出附近的食堂。
  • mensa tags 将列出当前已知的餐点标签,例如 "12 坚果"。

示例

周一的餐点 (点击我!)

如果您在 config.toml 中配置了默认 ID,则可以省略 -/--id

$ mensa meals -d mon -i 63

 Leipzig, Mensa am Park
 
  ╭───╴Bohnengemüse
  ├─╴Gemüsebeilage 🌱
  ╰╴( 0.55€ )
 ...
您所在位置的食堂 (点击我!)
$ mensa canteens

70 Leipzig, Cafeteria Dittrichring
   Dittrichring 21, 04109 Leipzig

63 Leipzig, Mensa am Park
   Universitätsstraße 5, 04109 Leipzig
...
所有当前已知的标签 (点击我!)
$ mensa tags

   0 Acidifier
     Contains artificial acidifier

   1 Alcohol
     Contains alcohol

   2 Antioxidant
     Contains an antioxidant
  ...
下周日附近的食堂的餐点 (点击我!)
$ 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
 ...
统计 OpenMensa 的食堂数量 (点击我!)
$ mensa canteens --all --json | jq '.[].id' | wc -l
704

配置 (可选)

请参阅 config.toml 中的示例。将其复制到:

  • $XDG_CONFIG_DIR/mensa/config.tomlLinux 上,
  • $HOME/Library/Application Support/mensa/config.tomlmacOS 上,
  • {FOLDERID_RoamingAppData}\mensa\config.tomlWindows 上。

许可证:MIT

依赖关系

~15–31MB
~499K SLoC