From 2515e90bea6c513d906841c8a7a018565850e1c0 Mon Sep 17 00:00:00 2001 From: Hannes Braun Date: Mon, 19 Dec 2022 20:30:53 +0100 Subject: [PATCH] Update MensaParser for new Mensa website --- .../controller/StartupController.kt | 2 +- .../thecitadelofricks/hsoparser/MensaParser.kt | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/org/mosad/thecitadelofricks/controller/StartupController.kt b/src/main/kotlin/org/mosad/thecitadelofricks/controller/StartupController.kt index d8cfac8..31e1bad 100644 --- a/src/main/kotlin/org/mosad/thecitadelofricks/controller/StartupController.kt +++ b/src/main/kotlin/org/mosad/thecitadelofricks/controller/StartupController.kt @@ -44,7 +44,7 @@ class StartupController { var cachetAPIKey = "0" var cachetBaseURL = "https://status.mosad.xyz" var courseListURL = "https://www.hs-offenburg.de/studium/vorlesungsplaene/" - var mensaMenuURL = "https://www.swfr.de/essen-trinken/speiseplaene/mensa-offenburg/" + var mensaMenuURL = "https://www.swfr.de/essen/mensen-cafes-speiseplaene/mensa-offenburg" var mensaName = "Offenburg" } diff --git a/src/main/kotlin/org/mosad/thecitadelofricks/hsoparser/MensaParser.kt b/src/main/kotlin/org/mosad/thecitadelofricks/hsoparser/MensaParser.kt index 3125994..ed845e4 100644 --- a/src/main/kotlin/org/mosad/thecitadelofricks/hsoparser/MensaParser.kt +++ b/src/main/kotlin/org/mosad/thecitadelofricks/hsoparser/MensaParser.kt @@ -59,14 +59,14 @@ class MensaParser { val mealWeekList = MensaWeek() try { - htmlDoc.select("#speiseplan-tabs").select("div.tab-content").select("div.menu-tagesplan") + htmlDoc.select("#tabsWeekdaysMenu").select("div.menu-tagesplan") .forEachIndexed { dayIndex, day -> val strDay = day.select("h3").text() - day.select("div.row").forEachIndexed { _, meal -> - val heading = meal.select("h4.menu-header").text() - val parts = ArrayList(meal.select("div.menu-info").html().substringBefore("
")) - val additives = meal.select("span.show-with-allergenes").text() + day.select("div.menu-tagesplan > div.grid").first()?.select("div.flex-col")?.forEachIndexed { _, meal -> + val heading = meal.select("h5").text() + val parts = ArrayList(meal.select("small.extra-text").html().split("
").map { it.trim() }) + val additives = meal.select("small.zusatzsstoffe[x-show=showAllergenes]").text() parts.removeIf { x -> x.isEmpty() || x.isBlank() } mealWeekList.days[dayIndex].meals.add(Meal(strDay, heading, parts, additives)) @@ -87,8 +87,7 @@ class MensaParser { */ fun getMenuLinkNextWeek(mensaMenuURL: String): String { val menuHTML = Jsoup.connect(mensaMenuURL).get() - - return "https://www.swfr.de" + menuHTML.select("#speiseplan-tabs").select("a.next-week").attr("href") + return "https://www.swfr.de" + menuHTML.select("div.section-mensa").select("a.next-week").attr("href") } } \ No newline at end of file