diff --git a/backend/src/interface/mensa_parser/model.rs b/backend/src/interface/mensa_parser/model.rs index 297d5911..a8970966 100644 --- a/backend/src/interface/mensa_parser/model.rs +++ b/backend/src/interface/mensa_parser/model.rs @@ -39,4 +39,25 @@ pub struct Dish { pub meal_type: MealType, /// The environmental score of the dish, which is an integer between 0 and 3. (Higher is better) 0 indicates that no score was present. pub env_score: u32, + /// The nutritional information of the dish + pub nutrition_data: Option, +} + +/// The nutrients of a dish +#[derive(Debug)] +pub struct NutritionData { + /// Energy in Kcal + pub energy: u32, + /// Protein in grams + pub protein: u32, + /// Carbs in grams + pub carbohydrates: u32, + /// Sugar in grams + pub sugar: u32, + /// Fat in grams + pub fat: u32, + /// Saturated fat in grams + pub saturated_fat: u32, + /// Salt in grams + pub salt: u32, } diff --git a/backend/src/layer/data/swka_parser/html_parser.rs b/backend/src/layer/data/swka_parser/html_parser.rs index 420b0533..64036258 100644 --- a/backend/src/layer/data/swka_parser/html_parser.rs +++ b/backend/src/layer/data/swka_parser/html_parser.rs @@ -86,7 +86,7 @@ //! ``` use crate::interface::mensa_parser::{ - model::{Dish, ParseCanteen, ParseLine}, + model::{Dish, NutritionData, ParseCanteen, ParseLine}, ParseError, }; use crate::util::{Additive, Allergen, Date, MealType, Price}; @@ -117,6 +117,12 @@ lazy_static! { static ref ALLERGEN_REGEX: Regex = Regex::new(r"[A-Z]\w+").expect(REGEX_PARSE_E_MSG); /// A regex for getting additives. An additive consists of one or two digits. static ref ADDITIVE_REGEX: Regex = Regex::new(r"[0-9]{1,2}").expect(REGEX_PARSE_E_MSG); + + static ref ENERGY_REGEX: Regex = Regex::new(r"([1-9][0-9]*) kcal").expect(REGEX_PARSE_E_MSG); + + static ref WEIGHT_REGEX: Regex = Regex::new(r"([1-9][0-9]*) g").expect(REGEX_PARSE_E_MSG); + + static ref ID_REGEX: Regex = Regex::new(r"[0-9]{18,}").expect(REGEX_PARSE_E_MSG); } const DISH_NODE_CLASS_SELECTOR_PREFIX: &str = "tr.mt-"; @@ -296,6 +302,7 @@ impl HTMLParser { additives: Self::get_dish_additives(dish_node).unwrap_or_default(), meal_type: Self::get_dish_type(dish_node).unwrap_or(MealType::Unknown), env_score: Self::get_dish_env_score(dish_node).unwrap_or_default(), + nutrition_data: Self::get_dish_nutrition_data(dish_node), }) } @@ -385,6 +392,42 @@ impl HTMLParser { .parse::() .ok() } + + fn get_dish_nutrition_data(dish_node: &ElementRef) -> Option { + let nutrition_node = Self::get_nutrition_node(dish_node)?; + Some(NutritionData { + energy: Self::get_nutrients(&nutrition_node, "energie", &ENERGY_REGEX)?, + protein: Self::get_nutrients(&nutrition_node, "proteine", &WEIGHT_REGEX)?, + carbohydrates: Self::get_nutrients(&nutrition_node, "kohlenhydrate", &WEIGHT_REGEX)?, + sugar: Self::get_nutrients(&nutrition_node, "zucker", &WEIGHT_REGEX)?, + fat: Self::get_nutrients(&nutrition_node, "fett", &WEIGHT_REGEX)?, + saturated_fat: Self::get_nutrients(&nutrition_node, "gesaettigt", &WEIGHT_REGEX)?, + salt: Self::get_nutrients(&nutrition_node, "salz", &WEIGHT_REGEX)?, + }) + } + + fn get_nutrition_node<'a>(dish_node: &'a ElementRef<'a>) -> Option> { + let meal_id = Self::get_meal_id(dish_node)?; + let string = format!("td.nutrition_facts_row.co2_id-{meal_id}"); + let selector = Selector::parse(&string).ok()?; + let node = ElementRef::wrap(dish_node.parent()?)?; + node.select(&selector).next() + } + + fn get_meal_id(dish_node: &ElementRef) -> Option { + Some(ID_REGEX.find(&dish_node.html())?.as_str().to_string()) + } + + fn get_nutrients(nutrition_node: &ElementRef, name: &str, regex: &Regex) -> Option { + let selector = Selector::parse(&format!("div.{name}")).ok()?; + let node = nutrition_node.select(&selector).next()?; + regex + .captures(&node.inner_html())? + .get(1)? + .as_str() + .parse() + .ok() + } } #[cfg(test)] @@ -458,7 +501,7 @@ mod tests { let file_contents = read_from_file(path).unwrap(); let canteen_data = HTMLParser::new().transform(&file_contents, 42_u32).unwrap(); - //write_output_to_file(path, &canteen_data); + let _ = write_output_to_file(path, &canteen_data); let expected = read_from_file(&path.replace(".html", ".txt")) .unwrap() .replace("\r\n", "\n"); diff --git a/backend/src/layer/data/swka_parser/test_data/test_1.txt b/backend/src/layer/data/swka_parser/test_data/test_1.txt index 39289216..7ae529de 100644 --- a/backend/src/layer/data/swka_parser/test_data/test_1.txt +++ b/backend/src/layer/data/swka_parser/test_data/test_1.txt @@ -19,6 +19,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 0, @@ -47,6 +48,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 0, diff --git a/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.html b/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.html index 46ee76cb..e18ff545 100644 --- a/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.html +++ b/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.html @@ -5,791 +5,8366 @@ info@codepoetry.de https://codepoetry.de --> - Studierendenwerk Karlsruhe | University gastronomy | Menu | Dining Hall Moltke - -
- - - -
Facebook -
-
Du verlässt nun die Webseite des Studierendenwerks Karlsruhe (sw-ka.de)
-

- -Bitte beachte, dass du auf die externe Webseite https://www.facebook.com/Studipilot/ -weitergeleitet wirst, auf der deine personenbezogenen Daten anders -verarbeitet werden als bei uns.

-Ehe du mit „Ja, weiter“ dieser Verarbeitung zustimmst, solltest du -hier nachlesen, was bei der externen Webseite zum Datenschutz zu -beachten ist. -

Facebook
Twitter -
-
Du verlässt nun die Webseite des Studierendenwerks Karlsruhe (sw-ka.de)
-

- -Bitte beachte, dass du auf die externe Webseite https://twitter.com/Studipilot -weitergeleitet wirst, auf der deine personenbezogenen Daten anders -verarbeitet werden als bei uns.

-Ehe du mit „Ja, weiter“ dieser Verarbeitung zustimmst, solltest du -hier nachlesen, was bei der externen Webseite zum Datenschutz zu -beachten ist. -

Twitter
Instagram -
-
Du verlässt nun die Webseite des Studierendenwerks Karlsruhe (sw-ka.de)
-

- -Bitte beachte, dass du auf die externe Webseite https://www.instagram.com/studierendenwerk_karlsruhe -weitergeleitet wirst, auf der deine personenbezogenen Daten anders -verarbeitet werden als bei uns.

-Ehe du mit „Ja, weiter“ dieser Verarbeitung zustimmst, solltest du -hier nachlesen, was bei der externen Webseite zum Datenschutz zu -beachten ist. -

InstagramKontrast
EN
- + + + + + + + + + + + + + + + + + + + + + + + + + + Studierendenwerk Karlsruhe | University gastronomy | Menu | Dining Hall Moltke + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+ +
+
Facebook +
+
Du verlässt nun die Webseite des Studierendenwerks Karlsruhe (sw-ka.de) +
+

+ + Bitte beachte, dass du auf die externe Webseite https://www.facebook.com/Studipilot/ + weitergeleitet wirst, auf der deine personenbezogenen Daten anders + verarbeitet werden als bei uns. +

+ Ehe du mit „Ja, weiter“ dieser Verarbeitung zustimmst, solltest du + hier nachlesen, was bei der externen Webseite zum Datenschutz zu + beachten ist. +

+ +
Facebook +
Twitter +
+
Du verlässt nun die Webseite des Studierendenwerks Karlsruhe (sw-ka.de) +
+

+ + Bitte beachte, dass du auf die externe Webseite https://twitter.com/Studipilot + weitergeleitet wirst, auf der deine personenbezogenen Daten anders + verarbeitet werden als bei uns. +

+ Ehe du mit „Ja, weiter“ dieser Verarbeitung zustimmst, solltest du + hier nachlesen, was bei der externen Webseite zum Datenschutz zu + beachten ist. +

+ +
Twitter +
Instagram +
+
Du verlässt nun die Webseite des Studierendenwerks Karlsruhe (sw-ka.de) +
+

+ + Bitte beachte, dass du auf die externe Webseite + https://www.instagram.com/studierendenwerk_karlsruhe + weitergeleitet wirst, auf der deine personenbezogenen Daten anders + verarbeitet werden als bei uns. +

+ Ehe du mit „Ja, weiter“ dieser Verarbeitung zustimmst, solltest du + hier nachlesen, was bei der externen Webseite zum Datenschutz zu + beachten ist. +

+ +
InstagramKontrast + +
+
EN
+ +
+
+
+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ +
+
+ + +
+ +
+
+
+

Dining Hall Moltke

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Wahlessen 1
+
+ + + + + + + + + + + + + + + + + + +
+

+
1,05 + €2,10 €1,45 + €1,22 € +
+
+

+
1,05 + €1,30 €1,05 + €1,05 € +
+
+

+
0,55 + €0,75 €0,55 + €0,55 € +
+
+
+
+
+
Wahlessen 2
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+
3,50 + €7,70 €5,20 + €4,05 € +
+
+
+
+

+
1,35 + €1,70 €1,35 + €1,35 € +
+
+

+
0,95 + €1,20 €0,95 + €0,95 € +
+
+

+
0,90 + €1,15 €0,90 + €0,90 € +
+
+

+
0,90 + €1,15 €0,90 + €0,90 € +
+
+
+
+
+
Aktionstheke
+
+ + + + + +
+

+
+
-
+
+
+
Gut & Günstig
+
+ + + + + + + + + + + + + + + + + + + +
+

+
3,20 + €4,60 €4,20 + €3,55 € +
+
+
+
+

+
3,20 + €4,60 €4,20 + €3,55 € +
+
+
+
+

+
+
+
+
+
+
+
Buffet
+
+ + + + + + + +
+

+
1,00 + €2,00 €1,38 + €1,16 € +
+
+
+
Schnitzelbar
+
+ + + + + +
+

+
+
-
+
+
+
[Kœri]werk
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+

+
2,10 + €2,50 €2,50 + €2,50 € +
+
+
+
+

+
2,10 + €2,50 €2,50 + €2,50 € +
+
+
+
+

+
1,30 + €1,30 €1,30 + €1,30 € +
+
+
+
+

+
+
+
+
+
+ + + + + + + + + + + -
- - -
- -
-
- -
- + + + + + + + +
+ Last update: Saturday, 08.07.2023 um 18:10 Uhr
+
+
+
Legende
+
+
+
+ Additives
+ [1] with colorant | [2] with preserving agents | [3] with antioxidant agent
+ [4] with flavor enhancer | [5] with phosphate | [6] surface waxed
+ [7] with sulphur | [8] blackened olives | [9] with sweetener
+ [10] - can be laxative if overused
+ [11] - contains phenylalanine
+ [12] - can contain alcohol
+ [14] - assembled from pieces of meat
+ [15] - with cocoa containg glaze
+ [27] - assembled from pieces of fish
+

+ Optional details
+
- + contains beef
+
+
- contains organically grown beef
+
- + contains pork
+
- contains organically grown pork
+
+
- vegetarian dish
+
- + vegan dish
+
- marine + stewardship council
+
certified fish
+
- + Mensa Vital
+
+ [LAB] - with animal rennet
+ [GEL] - with gelatine
+
+ Eine komplette Liste aller gesetzlich ausweisungspflichtigen Zusatzstoffe und Allergene findest du hier. +
+
-
-

Dining Hall Moltke

+
-
-
- - - - - +
+
-
-
-
+
+ + + + +
+
+ + + + + +
+
+ + + + +
+ +
+
+ + + + + +
+
+
+
+
+
+
- - - - - -
+ + + + + + + \ No newline at end of file diff --git a/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.txt b/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.txt index b4a06ded..ac7db9ee 100644 --- a/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.txt +++ b/backend/src/layer/data/swka_parser/test_data/test_mensa_moltke.txt @@ -22,6 +22,17 @@ additives: [], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 263, + protein: 12, + carbohydrates: 9, + sugar: 2, + fat: 20, + saturated_fat: 2, + salt: 5, + }, + ), }, Dish { name: "Pommes", @@ -35,6 +46,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -54,6 +66,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 387, + protein: 11, + carbohydrates: 38, + sugar: 9, + fat: 18, + saturated_fat: 5, + salt: 5, + }, + ), }, ], pos: 0, @@ -73,6 +96,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Kartoffel - Spinatgratin mit veganer Käsealternative in heller veganer Soja - Kräutersoße", @@ -92,6 +116,17 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 584, + protein: 14, + carbohydrates: 71, + sugar: 4, + fat: 23, + saturated_fat: 13, + salt: 7, + }, + ), }, Dish { name: "Dessertauswahl Diverse Desserts ab 0,50 EUR bis", @@ -109,6 +144,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, Dish { name: "Dessertauswahl Diverse Desserts ab 0,50 EUR bis", @@ -126,6 +162,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, Dish { name: "Salat", @@ -145,6 +182,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 1, @@ -171,6 +219,17 @@ additives: [], meal_type: Unknown, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 787, + protein: 34, + carbohydrates: 93, + sugar: 10, + fat: 29, + saturated_fat: 10, + salt: 6, + }, + ), }, Dish { name: "zu jedem Gericht reichen wir Salat oder Dessert", @@ -189,6 +248,7 @@ ], meal_type: Unknown, env_score: 3, + nutrition_data: None, }, Dish { name: "2 Dampfnudeln mit Vanillesoße", @@ -206,6 +266,17 @@ additives: [], meal_type: Vegetarian, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 716, + protein: 19, + carbohydrates: 114, + sugar: 25, + fat: 19, + saturated_fat: 3, + salt: 3, + }, + ), }, ], pos: 3, @@ -231,6 +302,17 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 4, @@ -258,6 +340,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu-Bratwurst mit Currysauce", @@ -277,6 +370,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -290,6 +394,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -305,6 +410,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -336,6 +442,17 @@ additives: [], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 263, + protein: 12, + carbohydrates: 9, + sugar: 2, + fat: 20, + saturated_fat: 2, + salt: 5, + }, + ), }, Dish { name: "Pommes", @@ -349,6 +466,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -368,6 +486,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 387, + protein: 11, + carbohydrates: 38, + sugar: 9, + fat: 18, + saturated_fat: 5, + salt: 5, + }, + ), }, ], pos: 0, @@ -387,6 +516,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tomaten-Chili-Knoblauchspaghetti mit Tofu", @@ -405,6 +535,7 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, Dish { name: "Dessertauswahl Diverse Desserts ab 0,50 EUR bis", @@ -422,6 +553,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, Dish { name: "Salat", @@ -441,6 +573,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 1, @@ -471,6 +614,17 @@ ], meal_type: PorkAw, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 943, + protein: 32, + carbohydrates: 85, + sugar: 5, + fat: 51, + saturated_fat: 19, + salt: 4, + }, + ), }, Dish { name: "zu jedem Gericht einen Salat oder Dessert", @@ -486,6 +640,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pasta in Tomaten - Broccolisoße auf Wunsch mit Reibekäse", @@ -505,6 +660,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 856, + protein: 27, + carbohydrates: 91, + sugar: 11, + fat: 39, + saturated_fat: 7, + salt: 4, + }, + ), }, ], pos: 3, @@ -530,6 +696,17 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 4, @@ -557,6 +734,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu-Bratwurst mit Currysoße", @@ -576,6 +764,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -589,6 +788,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -604,6 +804,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -635,6 +836,17 @@ additives: [], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 263, + protein: 12, + carbohydrates: 9, + sugar: 2, + fat: 20, + saturated_fat: 2, + salt: 5, + }, + ), }, Dish { name: "Pommes", @@ -648,6 +860,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -667,6 +880,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 387, + protein: 11, + carbohydrates: 38, + sugar: 9, + fat: 18, + saturated_fat: 5, + salt: 5, + }, + ), }, ], pos: 0, @@ -686,6 +910,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Kichererbsen - Kokos - Korma mit Mandel - Duftreis", @@ -701,6 +926,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 796, + protein: 19, + carbohydrates: 107, + sugar: 16, + fat: 29, + saturated_fat: 15, + salt: 1, + }, + ), }, Dish { name: "Dessertauswahl Diverse Desserts ab 0,50 EUR bis", @@ -718,6 +954,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, Dish { name: "Dessertauswahl Diverse Desserts ab 0,50 EUR bis", @@ -735,6 +972,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, Dish { name: "Salat", @@ -754,6 +992,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 1, @@ -781,6 +1030,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Linseneintopf mit 1 Paar Saiten und Baguettebrötchen", @@ -801,6 +1051,17 @@ ], meal_type: PorkAw, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 951, + protein: 45, + carbohydrates: 100, + sugar: 4, + fat: 35, + saturated_fat: 12, + salt: 4, + }, + ), }, Dish { name: "Linseneintopf mit veganer Soja Wurst und Baguettebrötchen", @@ -819,6 +1080,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 849, + protein: 47, + carbohydrates: 105, + sugar: 4, + fat: 21, + saturated_fat: 2, + salt: 4, + }, + ), }, ], pos: 3, @@ -844,6 +1116,17 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 4, @@ -871,6 +1154,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu-Bratwurst mit Currysoße", @@ -890,6 +1184,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -903,6 +1208,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -918,6 +1224,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -949,6 +1256,17 @@ additives: [], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 263, + protein: 12, + carbohydrates: 9, + sugar: 2, + fat: 20, + saturated_fat: 2, + salt: 5, + }, + ), }, Dish { name: "Pommes", @@ -962,6 +1280,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -981,6 +1300,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 387, + protein: 11, + carbohydrates: 38, + sugar: 9, + fat: 18, + saturated_fat: 5, + salt: 5, + }, + ), }, ], pos: 0, @@ -1000,6 +1330,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Sellerieschnitzel Langkornreis in heller veganer Soja-Kräutersoße", @@ -1019,6 +1350,17 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 1020, + protein: 18, + carbohydrates: 112, + sugar: 5, + fat: 53, + saturated_fat: 12, + salt: 9, + }, + ), }, Dish { name: "Dessertauswahl Diverse Desserts ab 0,50 EUR bis", @@ -1036,6 +1378,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, Dish { name: "Salat", @@ -1055,6 +1398,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, Dish { name: "Salat", @@ -1074,6 +1428,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 1, @@ -1104,6 +1469,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pasta mit Broccoli - Schinkensoße und Reibekäse Broccoli - Schinkensoße, geriebener Gouda", @@ -1125,6 +1491,7 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: None, }, Dish { name: "Pasta mit Rote Linsen - Bolognese und Reibekäse", @@ -1142,6 +1509,17 @@ additives: [], meal_type: Vegetarian, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 1173, + protein: 62, + carbohydrates: 152, + sugar: 10, + fat: 28, + saturated_fat: 9, + salt: 5, + }, + ), }, ], pos: 3, @@ -1167,6 +1545,17 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 4, @@ -1194,6 +1583,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu-Bratwurst mit Currysoße", @@ -1213,6 +1613,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -1226,6 +1637,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -1241,6 +1653,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -1272,6 +1685,17 @@ additives: [], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 263, + protein: 12, + carbohydrates: 9, + sugar: 2, + fat: 20, + saturated_fat: 2, + salt: 5, + }, + ), }, Dish { name: "Pommes", @@ -1285,6 +1709,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -1304,6 +1729,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 387, + protein: 11, + carbohydrates: 38, + sugar: 9, + fat: 18, + saturated_fat: 5, + salt: 5, + }, + ), }, ], pos: 0, @@ -1323,6 +1759,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Vegane Grünkohl - Hanfburger mit veganem Kräuterdip und Petersilienkartoffeln", @@ -1341,6 +1778,17 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 531, + protein: 5, + carbohydrates: 35, + sugar: 2, + fat: 39, + saturated_fat: 4, + salt: 5, + }, + ), }, Dish { name: "Dessertauswahl Diverse Desserts ab 0,50 EUR bis", @@ -1358,6 +1806,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, Dish { name: "Salat", @@ -1377,6 +1826,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 1, @@ -1404,6 +1864,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Scharfe Sombrero - Reispfanne mit Hackfleisch, Gemüse und Tomatensoße", @@ -1420,6 +1881,7 @@ additives: [], meal_type: BeefAw, env_score: 0, + nutrition_data: None, }, Dish { name: "Scharfe Sombrero - Reispfanne mit knusprigen Gemüse Crossini und Tomatensoße", @@ -1438,6 +1900,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 3, @@ -1463,6 +1926,17 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 256, + protein: 1, + carbohydrates: 15, + sugar: 8, + fat: 20, + saturated_fat: 2, + salt: 3, + }, + ), }, ], pos: 4, diff --git a/backend/src/layer/data/swka_parser/test_data/test_no_meal_data.txt b/backend/src/layer/data/swka_parser/test_data/test_no_meal_data.txt index f091385b..6f0ecbc7 100644 --- a/backend/src/layer/data/swka_parser/test_data/test_no_meal_data.txt +++ b/backend/src/layer/data/swka_parser/test_data/test_no_meal_data.txt @@ -76,6 +76,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -93,6 +94,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -188,6 +190,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -205,6 +208,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -300,6 +304,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -317,6 +322,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -412,6 +418,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -429,6 +436,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -524,6 +532,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -541,6 +550,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 10, diff --git a/backend/src/layer/data/swka_parser/test_data/test_normal.txt b/backend/src/layer/data/swka_parser/test_data/test_normal.txt index df36fe2e..9845ac2c 100644 --- a/backend/src/layer/data/swka_parser/test_data/test_normal.txt +++ b/backend/src/layer/data/swka_parser/test_data/test_normal.txt @@ -21,6 +21,17 @@ additives: [], meal_type: Unknown, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 797, + protein: 34, + carbohydrates: 94, + sugar: 10, + fat: 30, + saturated_fat: 10, + salt: 6, + }, + ), }, Dish { name: "zu jedem Gericht reichen wir ein Dessert oder Salat", @@ -34,6 +45,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "2 Dampfnudeln mit Vanillesoße", @@ -51,6 +63,17 @@ additives: [], meal_type: Vegetarian, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 716, + protein: 19, + carbohydrates: 114, + sugar: 25, + fat: 19, + saturated_fat: 3, + salt: 3, + }, + ), }, ], pos: 0, @@ -70,6 +93,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Mediterraner Gemüsegulasch mit Räuchertofu, dazu Sommerweizen", @@ -87,6 +111,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 1, @@ -114,6 +139,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Blattsalat", @@ -127,6 +153,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -140,6 +167,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 2, @@ -159,6 +187,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -172,6 +201,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hausgemachte Gnocchi mit verschiedenen Soßen", @@ -185,6 +215,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 3, @@ -204,6 +235,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -217,6 +249,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -230,6 +263,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Cordon bleu vom Schwein mit Bratensoße", @@ -250,6 +284,17 @@ ], meal_type: Pork, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 681, + protein: 11, + carbohydrates: 48, + sugar: 11, + fat: 48, + saturated_fat: 4, + salt: 5, + }, + ), }, Dish { name: "Kroketten", @@ -268,6 +313,17 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 583, + protein: 7, + carbohydrates: 52, + sugar: 1, + fat: 37, + saturated_fat: 3, + salt: 2, + }, + ), }, Dish { name: "Bohnengemüse", @@ -285,6 +341,7 @@ ], meal_type: Vegan, env_score: 1, + nutrition_data: None, }, ], pos: 4, @@ -304,6 +361,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Verschiedene Desserts im Portionsbecher", @@ -323,6 +381,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Schweine- und Hähnchenschnitzel, vegetarische Leckereien, Salatbuffet und Pommes - alles zur Wahl zu einem Preis", @@ -347,6 +406,17 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 837, + protein: 32, + carbohydrates: 62, + sugar: 8, + fat: 49, + saturated_fat: 5, + salt: 3, + }, + ), }, ], pos: 5, @@ -366,6 +436,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hamburger Buffet Preis je 100 g", @@ -390,6 +461,17 @@ ], meal_type: Beef, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 597, + protein: 33, + carbohydrates: 55, + sugar: 7, + fat: 25, + saturated_fat: 10, + salt: 4, + }, + ), }, Dish { name: "Salatbuffet mit frischer Rohkost, Blattsalate und hausgemachten Dressings, Preis je 100 g", @@ -406,6 +488,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -425,6 +508,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 7, @@ -447,6 +531,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu - Bratwurst mit Currysoße", @@ -466,6 +561,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, Dish { name: "koerifrites", @@ -479,6 +575,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -494,6 +591,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 8, @@ -517,6 +615,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tomatenstrudel", @@ -537,6 +636,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 9, @@ -563,6 +663,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza alla bolognese - Pizza mit Rinderhackfleisch, Lauch und roten Zwiebeln", @@ -579,6 +680,7 @@ additives: [], meal_type: BeefAw, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos vegan - Paprika, Oliven, rote Zwiebeln, vegane Käsealternative und Mais", @@ -597,6 +699,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -614,6 +717,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos - Hirtenkäse, Paprika, Oliven, rote Zwiebeln und Mais", @@ -632,6 +736,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -658,6 +763,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 12, @@ -692,6 +798,17 @@ ], meal_type: PorkAw, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 943, + protein: 32, + carbohydrates: 85, + sugar: 5, + fat: 51, + saturated_fat: 19, + salt: 4, + }, + ), }, Dish { name: "zu jedem Gericht reichen wir frisches Obst oder Salat", @@ -707,6 +824,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pasta in Tomaten - Broccolisoße mit Reibekäse", @@ -726,6 +844,17 @@ ], meal_type: Vegetarian, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 856, + protein: 27, + carbohydrates: 91, + sugar: 11, + fat: 39, + saturated_fat: 7, + salt: 4, + }, + ), }, ], pos: 0, @@ -751,6 +880,17 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 330, + protein: 8, + carbohydrates: 55, + sugar: 3, + fat: 5, + saturated_fat: 5, + salt: 2, + }, + ), }, Dish { name: "zu jedem Gericht reichen wir frisches Obst oder Salat", @@ -766,6 +906,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 1, @@ -785,6 +926,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -798,6 +940,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hackfleisch - Reispfanne", @@ -813,6 +956,17 @@ additives: [], meal_type: BeefAw, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 721, + protein: 39, + carbohydrates: 86, + sugar: 7, + fat: 22, + saturated_fat: 4, + salt: 4, + }, + ), }, ], pos: 2, @@ -832,6 +986,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -845,6 +1000,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hausgemachte Gnocchi mit verschiedenen Soßen", @@ -858,6 +1014,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 3, @@ -877,6 +1034,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -890,6 +1048,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -903,6 +1062,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Bifteki mit Tsatsiki", @@ -922,6 +1082,17 @@ additives: [], meal_type: Beef, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 1312, + protein: 20, + carbohydrates: 25, + sugar: 6, + fat: 127, + saturated_fat: 17, + salt: 4, + }, + ), }, Dish { name: "Country Potatoes", @@ -935,6 +1106,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 572, + protein: 6, + carbohydrates: 55, + sugar: 3, + fat: 35, + saturated_fat: 3, + salt: 1, + }, + ), }, Dish { name: "Karottengemüse", @@ -952,6 +1134,17 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 91, + protein: 2, + carbohydrates: 10, + sugar: 9, + fat: 4, + saturated_fat: 2, + salt: 1, + }, + ), }, ], pos: 4, @@ -971,6 +1164,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Verschiedene Desserts im Portionsbecher", @@ -990,6 +1184,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Schweine- und Hähnchenschnitzel, vegetarische Leckereien, Salatbuffet und Pommes - alles zur Wahl zu einem Preis", @@ -1014,6 +1209,17 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 837, + protein: 32, + carbohydrates: 62, + sugar: 8, + fat: 49, + saturated_fat: 5, + salt: 3, + }, + ), }, ], pos: 5, @@ -1033,6 +1239,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hamburger Buffet Preis je 100 g", @@ -1057,6 +1264,17 @@ ], meal_type: Beef, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 597, + protein: 33, + carbohydrates: 55, + sugar: 7, + fat: 25, + saturated_fat: 10, + salt: 4, + }, + ), }, Dish { name: "Salatbuffet mit frischer Rohkost, Blattsalate und hausgemachten Dressings, Preis je 100 g", @@ -1073,6 +1291,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -1092,6 +1311,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 7, @@ -1114,6 +1334,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu - Bratwurst mit Currysoße", @@ -1133,6 +1364,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -1146,6 +1388,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -1161,6 +1404,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 8, @@ -1184,6 +1428,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Fleischkäse im Brötchen", @@ -1204,6 +1449,7 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: None, }, ], pos: 9, @@ -1230,6 +1476,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza alla bolognese - Pizza mit Rinderhackfleisch, Lauch und roten Zwiebeln", @@ -1246,6 +1493,7 @@ additives: [], meal_type: BeefAw, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos vegan - Paprika, Oliven, rote Zwiebeln, vegane Käsealternative und Mais", @@ -1264,6 +1512,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -1281,6 +1530,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos - Hirtenkäse, Paprika, Oliven, rote Zwiebeln und Mais", @@ -1299,6 +1549,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -1325,6 +1576,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 12, @@ -1353,6 +1605,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Linseneintopf mit Saiten und Baguettebrötchen", @@ -1373,6 +1626,17 @@ ], meal_type: PorkAw, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 951, + protein: 45, + carbohydrates: 100, + sugar: 4, + fat: 35, + saturated_fat: 12, + salt: 4, + }, + ), }, Dish { name: "Linseneintopf mit veganer Soja - Wurst und Baguettebrötchen", @@ -1391,6 +1655,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 849, + protein: 47, + carbohydrates: 105, + sugar: 4, + fat: 21, + saturated_fat: 2, + salt: 4, + }, + ), }, ], pos: 0, @@ -1410,6 +1685,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tomaten-Chili-Knoblauchspaghetti mit Tofu", @@ -1428,6 +1704,7 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 1, @@ -1447,6 +1724,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Schupfnudel-Karotten-Champignon-Pfanne mit Hirtenkäse-Quark-Dip", @@ -1464,6 +1742,17 @@ additives: [], meal_type: Vegetarian, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 860, + protein: 30, + carbohydrates: 116, + sugar: 10, + fat: 28, + saturated_fat: 5, + salt: 2, + }, + ), }, Dish { name: "Verschiedene Dessert", @@ -1481,6 +1770,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 2, @@ -1500,6 +1790,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hausgemachte Gnocchi mit verschiedenen Soßen", @@ -1513,6 +1804,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Verschiedene Dessert", @@ -1530,6 +1822,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 3, @@ -1549,6 +1842,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -1562,6 +1856,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Party Frikadellen mit Senfsoße", @@ -1583,6 +1878,17 @@ ], meal_type: Pork, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 284, + protein: 9, + carbohydrates: 18, + sugar: 6, + fat: 18, + saturated_fat: 8, + salt: 4, + }, + ), }, Dish { name: "Sommergemüse", @@ -1598,6 +1904,7 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, Dish { name: "Langkornreis", @@ -1611,6 +1918,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, Dish { name: "Verschiedene Dessert", @@ -1628,6 +1936,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 4, @@ -1653,6 +1962,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Schweine- und Hähnchenschnitzel, vegetarische Leckereien, Salatbuffet und Pommes - alles zur Wahl zu einem Preis", @@ -1677,6 +1987,17 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 837, + protein: 32, + carbohydrates: 62, + sugar: 8, + fat: 49, + saturated_fat: 5, + salt: 3, + }, + ), }, Dish { name: "Verschiedene Dessert", @@ -1694,6 +2015,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 5, @@ -1724,6 +2046,17 @@ ], meal_type: Beef, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 597, + protein: 33, + carbohydrates: 55, + sugar: 7, + fat: 25, + saturated_fat: 10, + salt: 4, + }, + ), }, Dish { name: "Salatbuffet mit frischer Rohkost, Blattsalate und hausgemachten Dressings, Preis je 100 g", @@ -1740,6 +2073,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Verschiedene Dessert", @@ -1757,6 +2091,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -1776,6 +2111,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 7, @@ -1798,6 +2134,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu - Bratwurst mit Currysoße", @@ -1817,6 +2164,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -1830,6 +2188,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -1845,6 +2204,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 8, @@ -1873,6 +2233,7 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: None, }, Dish { name: "Käse Mozzarella Fächer", @@ -1890,6 +2251,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 9, @@ -1916,6 +2278,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza alla bolognese - Pizza mit Rinderhackfleisch, Lauch und roten Zwiebeln", @@ -1932,6 +2295,7 @@ additives: [], meal_type: BeefAw, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos vegan - Paprika, Oliven, rote Zwiebeln, vegane Käsealternative und Mais", @@ -1950,6 +2314,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -1967,6 +2332,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos - Hirtenkäse, Paprika, Oliven, rote Zwiebeln und Mais", @@ -1985,6 +2351,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -2011,6 +2378,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 12, @@ -2047,6 +2415,17 @@ ], meal_type: Pork, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 743, + protein: 37, + carbohydrates: 87, + sugar: 7, + fat: 24, + saturated_fat: 13, + salt: 3, + }, + ), }, Dish { name: "zu jedem Gericht reichen wir frisches Obst oder Salat", @@ -2062,6 +2441,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pasta mit Rote Linsen - Bolognese und Reibekäse", @@ -2079,6 +2459,17 @@ additives: [], meal_type: Vegetarian, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 1173, + protein: 62, + carbohydrates: 152, + sugar: 10, + fat: 28, + saturated_fat: 9, + salt: 5, + }, + ), }, ], pos: 0, @@ -2100,6 +2491,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 796, + protein: 19, + carbohydrates: 107, + sugar: 16, + fat: 29, + saturated_fat: 15, + salt: 1, + }, + ), }, Dish { name: "zu jedem Gericht reichen wir frisches Obst oder Salat", @@ -2115,6 +2517,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 1, @@ -2134,6 +2537,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -2147,6 +2551,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Solidaritätsessen: Vegane Paella", @@ -2165,6 +2570,7 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 2, @@ -2184,6 +2590,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -2197,6 +2604,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hausgemachte Gnocchi mit verschiedenen Soßen", @@ -2210,6 +2618,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 3, @@ -2229,6 +2638,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -2242,6 +2652,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -2255,6 +2666,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Kalbfleischbällchen mit Paprikasoße", @@ -2274,6 +2686,17 @@ ], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 429, + protein: 31, + carbohydrates: 18, + sugar: 3, + fat: 24, + saturated_fat: 9, + salt: 7, + }, + ), }, Dish { name: "Ofenkartoffel", @@ -2287,6 +2710,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, Dish { name: "Balkangemüse", @@ -2304,6 +2728,17 @@ ], meal_type: Vegan, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 154, + protein: 3, + carbohydrates: 15, + sugar: 9, + fat: 7, + saturated_fat: 3, + salt: 1, + }, + ), }, ], pos: 4, @@ -2323,6 +2758,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Verschiedene Desserts im Portionsbecher", @@ -2342,6 +2778,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Schweine- und Hähnchenschnitzel, vegetarische Leckereien, Salatbuffet und Pommes - alles zur Wahl zu einem Preis", @@ -2366,6 +2803,17 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 837, + protein: 32, + carbohydrates: 62, + sugar: 8, + fat: 49, + saturated_fat: 5, + salt: 3, + }, + ), }, ], pos: 5, @@ -2385,6 +2833,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hamburger Buffet Preis je 100 g", @@ -2409,6 +2858,17 @@ ], meal_type: Beef, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 597, + protein: 33, + carbohydrates: 55, + sugar: 7, + fat: 25, + saturated_fat: 10, + salt: 4, + }, + ), }, Dish { name: "Salatbuffet mit frischer Rohkost, Blattsalate und hausgemachten Dressings, Preis je 100 g", @@ -2425,6 +2885,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -2444,6 +2905,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 7, @@ -2466,6 +2928,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu - Bratwurst mit Currysoße", @@ -2485,6 +2958,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -2498,6 +2982,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -2513,6 +2998,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 8, @@ -2536,6 +3022,7 @@ additives: [], meal_type: Pork, env_score: 0, + nutrition_data: None, }, Dish { name: "Spinatstrudel", @@ -2553,6 +3040,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 9, @@ -2579,6 +3067,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza alla bolognese - Pizza mit Rinderhackfleisch, Lauch und roten Zwiebeln", @@ -2595,6 +3084,7 @@ additives: [], meal_type: BeefAw, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos vegan - Paprika, Oliven, rote Zwiebeln, vegane Käsealternative und Mais", @@ -2613,6 +3103,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -2630,6 +3121,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos - Hirtenkäse, Paprika, Oliven, rote Zwiebeln und Mais", @@ -2648,6 +3140,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -2674,6 +3167,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 12, @@ -2702,6 +3196,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Scharfe Sombrero - Reispfanne mit Hackfleisch, Gemüse und Tomatensoße", @@ -2718,6 +3213,17 @@ additives: [], meal_type: BeefAw, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 737, + protein: 40, + carbohydrates: 109, + sugar: 7, + fat: 14, + saturated_fat: 3, + salt: 3, + }, + ), }, Dish { name: "Scharfe Sombrero - Reispfanne mit knusprigen Gemüse Crossini und Tomatensoße", @@ -2736,6 +3242,17 @@ additives: [], meal_type: Vegetarian, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 851, + protein: 26, + carbohydrates: 136, + sugar: 22, + fat: 20, + saturated_fat: 4, + salt: 3, + }, + ), }, ], pos: 0, @@ -2758,6 +3275,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 716, + protein: 13, + carbohydrates: 73, + sugar: 13, + fat: 38, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "Veganes Tagesdessert", @@ -2771,6 +3299,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "zu jedem Gericht reichen wir frisches Obst oder Salat", @@ -2786,6 +3315,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 1, @@ -2805,6 +3335,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -2818,6 +3349,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Spätzle-Pilz-Pfanne", @@ -2837,6 +3369,17 @@ ], meal_type: Vegetarian, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 510, + protein: 17, + carbohydrates: 41, + sugar: 2, + fat: 29, + saturated_fat: 13, + salt: 2, + }, + ), }, ], pos: 2, @@ -2856,6 +3399,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -2869,6 +3413,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Hausgemachte Gnocchi mit verschiedenen Soßen", @@ -2882,6 +3427,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 3, @@ -2901,6 +3447,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagesdessert", @@ -2914,6 +3461,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Tagessuppe", @@ -2927,6 +3475,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Paniertes Alaska Seelachsfilet mit Kräuterdip", @@ -2945,6 +3494,17 @@ additives: [], meal_type: Fish, env_score: 2, + nutrition_data: Some( + NutritionData { + energy: 791, + protein: 34, + carbohydrates: 31, + sugar: 5, + fat: 58, + saturated_fat: 5, + salt: 2, + }, + ), }, Dish { name: "Mischgemüse", @@ -2962,6 +3522,17 @@ ], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 91, + protein: 3, + carbohydrates: 7, + sugar: 6, + fat: 4, + saturated_fat: 2, + salt: 1, + }, + ), }, Dish { name: "hausgemachter Kartoffelsalat", @@ -2978,6 +3549,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 290, + protein: 4, + carbohydrates: 35, + sugar: 2, + fat: 13, + saturated_fat: 1, + salt: 1, + }, + ), }, ], pos: 4, @@ -2997,6 +3579,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Verschiedene Desserts im Portionsbecher", @@ -3016,6 +3599,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Schweine- und Hähnchenschnitzel, vegetarische Leckereien, Salatbuffet und Pommes - alles zur Wahl zu einem Preis", @@ -3040,6 +3624,17 @@ ], meal_type: Pork, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 837, + protein: 32, + carbohydrates: 62, + sugar: 8, + fat: 49, + saturated_fat: 5, + salt: 3, + }, + ), }, ], pos: 5, @@ -3070,6 +3665,17 @@ ], meal_type: Beef, env_score: 0, + nutrition_data: Some( + NutritionData { + energy: 597, + protein: 33, + carbohydrates: 55, + sugar: 7, + fat: 25, + saturated_fat: 10, + salt: 4, + }, + ), }, Dish { name: "Salatbuffet mit frischer Rohkost, Blattsalate und hausgemachten Dressings, Preis je 100 g", @@ -3086,6 +3692,7 @@ additives: [], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 6, @@ -3105,6 +3712,7 @@ additives: [], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, ], pos: 7, @@ -3127,6 +3735,17 @@ additives: [], meal_type: Beef, env_score: 1, + nutrition_data: Some( + NutritionData { + energy: 527, + protein: 11, + carbohydrates: 35, + sugar: 32, + fat: 37, + saturated_fat: 13, + salt: 5, + }, + ), }, Dish { name: "Vegane Tofu - Bratwurst mit Currysoße", @@ -3146,6 +3765,17 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: Some( + NutritionData { + energy: 556, + protein: 26, + carbohydrates: 37, + sugar: 34, + fat: 32, + saturated_fat: 3, + salt: 4, + }, + ), }, Dish { name: "koerifrites", @@ -3159,6 +3789,7 @@ additives: [], meal_type: Vegan, env_score: 2, + nutrition_data: None, }, Dish { name: "Zu jeder Currywurst reichen wir frisches Baguette", @@ -3174,6 +3805,7 @@ additives: [], meal_type: Vegan, env_score: 3, + nutrition_data: None, }, ], pos: 8, @@ -3199,6 +3831,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Börek mit Spinatfüllung", @@ -3220,6 +3853,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, ], pos: 9, @@ -3246,6 +3880,7 @@ ], meal_type: Unknown, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza alla bolognese - Pizza mit Rinderhackfleisch, Lauch und roten Zwiebeln", @@ -3262,6 +3897,7 @@ additives: [], meal_type: BeefAw, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos vegan - Paprika, Oliven, rote Zwiebeln, vegane Käsealternative und Mais", @@ -3280,6 +3916,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Margherita vegan - frische Tomaten, vegane Käsealternative, Basilikumpesto", @@ -3297,6 +3934,7 @@ ], meal_type: Vegan, env_score: 0, + nutrition_data: None, }, Dish { name: "Pizza Mykonos - Hirtenkäse, Paprika, Oliven, rote Zwiebeln und Mais", @@ -3315,6 +3953,7 @@ ], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 10, @@ -3341,6 +3980,7 @@ additives: [], meal_type: Vegetarian, env_score: 0, + nutrition_data: None, }, ], pos: 12, diff --git a/backend/src/layer/logic/mealplan_management/relation_resolver.rs b/backend/src/layer/logic/mealplan_management/relation_resolver.rs index fee04cac..ba1b7c8a 100644 --- a/backend/src/layer/logic/mealplan_management/relation_resolver.rs +++ b/backend/src/layer/logic/mealplan_management/relation_resolver.rs @@ -170,6 +170,7 @@ mod test { additives: vec![], meal_type: MealType::Vegan, env_score: 0, + nutrition_data: None, } } @@ -186,6 +187,7 @@ mod test { additives: vec![], meal_type: MealType::Vegan, env_score: 0, + nutrition_data: None, } } diff --git a/backend/src/layer/logic/mealplan_management/test/meal_plan_parser_mock.rs b/backend/src/layer/logic/mealplan_management/test/meal_plan_parser_mock.rs index dc29a4d9..f80b48e4 100644 --- a/backend/src/layer/logic/mealplan_management/test/meal_plan_parser_mock.rs +++ b/backend/src/layer/logic/mealplan_management/test/meal_plan_parser_mock.rs @@ -30,6 +30,7 @@ fn get_dish(dish_number: u32) -> Dish { additives: vec![Alcohol], meal_type: Vegan, env_score: 0, + nutrition_data: None, } }