from mensa import base
from yapsy.IPlugin import IPlugin
from xml.sax.saxutils import escape as esc
class HTMLRenderer(IPlugin) :
def render (self, foods, **options) :
## Expects list of tuples with (Restaurant, Foodlist)
r = ""
vegkeys = [ "", "Vegetarian", "Vegan" ]
for restaurant, food in foods :
cat = []
if not food :
continue
r = r+"
"+esc(restaurant.human_name)+"
"+"\n"#+base.formt(food)
food.sort(key=lambda foo: foo.category)
for i in food:
if options["only_student_prices"] :
price = base.only_student_prices(i.price)
else:
price = i.price
if options["only_veggie"] and options["only_veggie"] > i.veggie :
continue
if not i.category in cat :
if cat :
r = r + ""
cat.append(i.category)
if not i.category == None :
r=r+ "
"+esc(i.category)+"
\n"
r=r+"- " + esc(i.name) + ""+ esc(price) + ""+ esc(vegkeys[i.veggie])+"\n"
if i.desc :
r = r+"
"+esc(i.desc)+"
\n"
r = r+"
"
r = r
print(r)
def register_renderer(self) :
base.register_renderer(base.Renderer("html", "HTML Renderer", self))