modular parser framework

This commit is contained in:
Hadrian Burkhardt
2026-05-21 08:21:49 +00:00
parent 1223791074
commit cf5348a0c8
35 changed files with 452 additions and 166 deletions
+4 -4
View File
@@ -1,11 +1,11 @@
# OpenMensa Parser STW Potsdam
# OpenMensa Parsers
[![CircleCI](https://dl.circleci.com/status-badge/img/gh/f4lco/om-parser-stw-potsdam-v2/tree/master.svg?style=shield)](https://dl.circleci.com/status-badge/redirect/gh/f4lco/om-parser-stw-potsdam-v2/tree/master)
[![Coverage Status](https://coveralls.io/repos/github/f4lco/om-parser-stw-potsdam-v2/badge.svg?branch=master)](https://coveralls.io/github/f4lco/om-parser-stw-potsdam-v2?branch=master)
[![Read the Docs](https://readthedocs.org/projects/om-parser-stw-potsdam-v2/badge/?version=latest&style=flat)](https://om-parser-stw-potsdam-v2.readthedocs.io/en/latest/)
[OpenMensa][om] parser components query canteen websites for menus and transform them into OpenMensa's data format.
This project came to life after the website of the canteens of the Studentenwerk Potsdam changed, and is therefore the successor to [kaifabian/om-parser-potsdam][prev-parser] (hence the "-v2").
The default parser currently supports Studentenwerk Potsdam. The package is structured so additional city or provider parsers can be added behind the same OpenMensa XML renderer.
Among others, OpenMensa powers the popular [Mensa Uni Potsdam][steppschuh] Android app.
@@ -19,14 +19,14 @@ Recommended: Python 3.12+.
$ uv venv
$ uv pip install -e ".[dev]"
$ uv run flask --app stw_potsdam.views run
$ uv run flask --app openmensa_parsers.views run
**Option B (venv + pip)** ::
$ python -m venv .venv
$ . .venv/bin/activate
$ pip install -e ".[dev]"
$ FLASK_APP=stw_potsdam.views flask run
$ FLASK_APP=openmensa_parsers.views flask run
**Contributions** are always welcome, in particular if the response format of the canteens change. Feel free to file a PR with improvements.