This small python library helps you to work with OpenMensa by:
- support writing canteen feeds: The feed module makes it very easy to generate a valid OpenMensa Feed V2. This is in production use for the majority of canteens in OpenMensa.
- python wrapper for OpenMensa data: Access data (canteens, meals) transparent from openmensa. (in development)
More information about OpenMensa and all possibilities for developers.
Documentation is hosted by ReadTheDocs: for the Full documentation about PyOpenMensa
The documentation is created with Spinx and the documentation source code can be found in the doc/ directory.
You need Python 2.6, 2.7 or >=3.2.
Install pyopenmensa:
via pypi
pip install pyopenmensa
via git
git clone git://github.com/mswart/pyopenmensa``
Create Feed builder:
# import LazyBuilder - the container for all meals from pyopenmensa.feed import LazyBuilder canteen = LazyBuilder() # canteen container
Add feed data (PyOpenMensa can do basic parsing and converting):
from datetime import date canteen.addMeal(date(2013, 3, 4), 'Hauptgericht', 'Gulasch', notes=['Mit Süßstoff', 'Schwein'], prices={'student': 203, 'other': '3,05 €'} ) canteen.setDayClosed('5.3.2013')
Receive XML Feed:
print(canteen.toXMLFeed())
And you have a valid OpenMensa V2 Feed:
<?xml version="1.0" encoding="UTF-8"?> <openmensa version="2.0" xmlns="http://openmensa.org/open-mensa-v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" si:schemaLocation="http://openmensa.org/open-mensa-v2 http://openmensa.org/open-mensa-v2.xsd"> <canteen> <day date="2013-03-04"> <category name="Hauptgericht"> <meal> <name>Gulasch</name> <note>Mit Süßstoff</note> <note>Schwein</note> <price role="other">3.05</price> <price role="student">2.03</price> </meal> </category> </day> <day date="2013-03-05"> <closed/> </day> </canteen> </openmensa>
- Fork it.
- Create a branch (
git checkout -b my_markup
) - Commit your changes (
git commit -am "Added Snarkdown"
) - Push to the branch (
git push origin my_markup
) - Open a Pull Request
- Enjoy a refreshing Diet Coke and wait
LGPL License
Copyright (c) 2012-2015 Malte Swart. LGPL license, see LICENSE for more details.