Add support for Prinz Karl Mensa
This commit is contained in:
@@ -8,7 +8,8 @@ Options:
|
||||
|
||||
- `-m`, `--morgenstelle` Show Mensa Morgenstelle
|
||||
- `-s`, `--shedhalle` Show Mensa Shedhalle
|
||||
- `-p`, `--plaintext` Format as plain text
|
||||
- `-p`, `--prinzkarl` Show Mensa Prinz Karl
|
||||
- `--plaintext` Format as plain text
|
||||
- `-o`, `--oneline` Use very short format (oneline)
|
||||
- `-d`, `--days <DAYS>` Offset of days in the future (valid inputs 0-7) [default: 0]
|
||||
- `-v`, `--vegetarian` Show the vegetarian menu
|
||||
|
@@ -12,8 +12,12 @@ pub struct Args {
|
||||
#[arg(short, long, default_value_t = false)]
|
||||
pub shedhalle: bool,
|
||||
|
||||
/// Format as plain text
|
||||
/// Show Mensa Prinz Karl
|
||||
#[arg(short, long, default_value_t = false)]
|
||||
pub prinzkarl: bool,
|
||||
|
||||
/// Format as plain text
|
||||
#[arg(long, default_value_t = false)]
|
||||
pub plaintext: bool,
|
||||
|
||||
/// Use very short format (oneline)
|
||||
|
13
src/main.rs
13
src/main.rs
@@ -10,17 +10,20 @@ fn main() {
|
||||
}
|
||||
|
||||
fn exec_arguments(args: &cli::Args) {
|
||||
let shedhalle = Mensa::from(MensaName::Shedhalle);
|
||||
let morgenstelle = Mensa::from(MensaName::Morgenstelle);
|
||||
|
||||
if args.morgenstelle {
|
||||
if let Ok(resp) = morgenstelle {
|
||||
if let Ok(resp) = Mensa::from(MensaName::Morgenstelle) {
|
||||
exec_arg_helper(args, &resp);
|
||||
}
|
||||
}
|
||||
|
||||
if args.shedhalle {
|
||||
if let Ok(resp) = shedhalle {
|
||||
if let Ok(resp) = Mensa::from(MensaName::Shedhalle) {
|
||||
exec_arg_helper(args, &resp);
|
||||
}
|
||||
}
|
||||
|
||||
if args.prinzkarl {
|
||||
if let Ok(resp) = Mensa::from(MensaName::PrinzKarl) {
|
||||
exec_arg_helper(args, &resp);
|
||||
}
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ use ureq::{Agent, Error};
|
||||
pub enum MensaName {
|
||||
Shedhalle,
|
||||
Morgenstelle,
|
||||
PrinzKarl,
|
||||
}
|
||||
|
||||
pub trait Mealplan {
|
||||
@@ -33,8 +34,9 @@ fn get_nth_date(days: u8) -> Option<chrono::DateTime<Local>> {
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Mensa {
|
||||
#[serde(alias = "621")]
|
||||
#[serde(rename = "611")]
|
||||
#[serde(alias = "621")] // Morgenstelle
|
||||
#[serde(alias = "623")] // Prinz Karl
|
||||
#[serde(rename = "611")] // Shedhalle
|
||||
canteen: Canteen,
|
||||
}
|
||||
|
||||
@@ -48,6 +50,7 @@ impl Mensa {
|
||||
let canteen_id = match name {
|
||||
MensaName::Shedhalle => 611,
|
||||
MensaName::Morgenstelle => 621,
|
||||
MensaName::PrinzKarl => 623,
|
||||
};
|
||||
|
||||
let url =
|
||||
|
Reference in New Issue
Block a user