feature/metafeeds: Support for canteen meta feeds and index feed (#2)

* feature/metafeeds: Restructured API, splitted menu and meta feed

* feature/metafeeds: add field 'key' to Canteen

* feature/metafeeds: added helper function for reverse urls

* feature/metafeeds: added menu feed url to meta feed

* feature/metafeeds: added missing test

(added: testing meta feed rendering in retrievaltest)

* feature/metafeeds: added feed index page

* whitespace fix

* feature/metafeeds: added alias urls

* feature/metafeeds: moved meta feed default url

* feature/metafeeds: moved index generation to views

* feature/metafeeds: inlined builder instance creation

* feature/metafeeds: removed unused 'menu' parameter

* feature/metafeeds: replaced 'reverse' module with Flask's url_for

* feature/metafeeds: removed unused import

* feature/metafeeds: removed unused function parameters

* feature/metafeeds: moved menu feed url generation to views.py

* feature/metafeeds: cleanup debug prints

removing debug prints that should never have been committed.
This commit is contained in:
Kai Fabian
2018-10-22 09:16:14 +02:00
committed by f4lco
parent 0653c75e43
commit 5adf85ab65
8 changed files with 101 additions and 26 deletions
+14 -9
View File
@@ -2,6 +2,7 @@
from pyopenmensa.feed import LazyBuilder
PRICE_ROLE_MAPPING = {
'student': 'preis_s',
'other': 'preis_g',
@@ -48,18 +49,22 @@ def _process_day(builder, day):
roles=None)
def _create_builder(canteen):
def render_menu(menu):
builder = LazyBuilder()
builder.name = canteen.name
builder.address = canteen.street
builder.city = canteen.city
return builder
def render(canteen, menu):
builder = _create_builder(canteen)
for day in _active_days(menu):
_process_day(builder, day)
return builder.toXMLFeed()
def render_meta(canteen, menu_feed_url):
builder = LazyBuilder()
builder.name = canteen.name
builder.address = canteen.street
builder.city = canteen.city
builder.define(name="full", priority="0", url=menu_feed_url, source=None, dayOfWeek="*", dayOfMonth="*", hour="8-18", minute="0", retry="30 1")
return builder.toXMLFeed()