Skip to content

feat(mensa): load menus from the Studierendenwerk Oldenburg - #68

Merged
502Proxy merged 3 commits into
mainfrom
feat/mensa-studierendenwerk
Oct 28, 2026
Merged

502Proxy merged 3 commits into
mainfrom
feat/mensa-studierendenwerk

Conversation

@502Proxy

Copy link
Copy Markdown
Owner

Closes #67

What changes and why?

Der Mensaplan bot alle OpenMensa-Mensen im Umkreis an, man landete leicht bei einer Mensa außerhalb der Uni (Alexanderstraße). Jetzt kommt der Plan direkt vom Studierendenwerk Oldenburg, und es gibt nur die beiden Uni-Mensen.

  • StudierendenwerkMenuParser: liest Ausgaben/Kategorien, Gerichte, Studierendenpreis („max. 2,50*“ zählt als 2,50) und Hinweise (vegan, vegetarisch, Rind …) aus dem HTML des Speiseplansystems und erkennt geschlossene Tage.
  • StudierendenwerkOldenburgClient: POST func=make_spl an sw-oldenburg-spl56.maxmanager.xyz, locId 2 = Uhlhornsweg, 3 = Wechloy, mit den Montagen der Woche und der Folgewoche. Ersetzt den OpenMensa-Adapter hinter dem Port CanteenService.
  • Der Port listet die angebotenen Mensen (canteens()) statt einer Umkreissuche; MensaLocation und OpenMensa entfallen.
  • Eine gespeicherte OpenMensa-Auswahl wird auf Mensa Uhlhornsweg umgestellt.
  • Doku in docs/FEATURES.md.

Geprüft: Parser gegen echte Antworten (Uhlhornsweg mit Ausgaben und Culinarium, Wechloy, geschlossener Samstag); Client live gegen den Server (Uhlhornsweg 28 Gerichte, Wechloy 8).

Checklist

  • Linked issue, labels and milestone set
  • scripts/qa.sh passes locally (SwiftLint + tests): CI läuft; Linux-Tests grün (225)
  • New logic has tests in StudyAppTests
  • UI tried in the app (light and dark): bitte Einstellungen → Allgemein → Mensa und „Heute“ prüfen
  • Data model changes: keine
  • User-visible change: line in docs/release-notes/<version>.md and CHANGELOG.md: kommt mit dem 1.12-Release-PR
  • Docs in docs/ updated where behaviour changed

Generated by Claude Code

Reads counters, meals, the student price and icon notes from the HTML of
the Studierendenwerk menu system and recognises closed days. The tests
use an excerpt of a real answer for Mensa Wechloy.
Refs #67

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
The new StudierendenwerkOldenburgClient replaces the OpenMensa adapter
behind the CanteenService port. The port now lists the offered canteens
instead of searching a radius, so the settings show only Mensa
Uhlhornsweg and Mensa Wechloy. A canteen chosen from OpenMensa before is
replaced by Mensa Uhlhornsweg.
Refs #67

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
Closes #67

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
@502Proxy 502Proxy added this to the 1.12 milestone Oct 28, 2026 — with Claude
@502Proxy 502Proxy added the enhancement New feature or improvement label Oct 28, 2026 — with Claude
@502Proxy
502Proxy merged commit bb38726 into main Oct 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(mensa): Speiseplan direkt vom Studierendenwerk Oldenburg (Uhlhornsweg, Wechloy)

2 participants