#!/usr/bin/env python3 print( """============================ s5: S5 osm https://www.openstreetmap.org/node/3752879366 address Krijgslaan 281, 9000 Gent website https://www.ugent.be/student/nl/meer-dan-studeren/resto/restos/restocampussterre.htm ============================""" ) # Paste menu from https://www.ugent.be/student/nl/meer-dan-studeren/resto/broodjes/overzicht.htm # here SANDWICH_MENU = [ l.split("\t") for l in """ Kaas Kaas, ei, komkommer, sla, tomaat en mayonaise € 2,10 Tomaat-mozzarella Mozzarella, tomaat, basilicumpesto en sla € 2,60 Caesar Kippenreepjes, Gran Moravia kaasschilfers, croutons, sla en caesardressing € 2,50 Maison Ham, kaas, augurk, ei, sla, tomaat, cocktailsaus en mayonaise € 2,40 Toscane Mozzarella, prosciutto ham, sla en tomatensalsa € 2,70 Groentespread Wekelijks wisselende veggie of vegan groentespread € 2,60 Falafel (vegan) Falafel, paprika-basilicum spread, spelt pasta, komkommer € 2,70 Pulled pork Pulled pork, ei, tomaat, wittekool, wortel, BBQ saus € 2,60 """.strip().split("\n") ] SALADS_MENU = [ l.split("\t") for l in """ Tomaat-mozzarella Tomaat, mozzarella, pastasalade, basilicumpesto, sla € 3,20 Caesar Kippenreepjes, Gran Moravia kaasschilfers, croutons, sla en caesardressing € 3,00 Falafel Falafel, paprika-basilicum spread, spelt pasta en komkommer € 3,00 """.strip().split("\n") ] PASTA_MENU = [ l.split("\t") for l in """ Mediterranée Spirelli salade, Gran Moravia kaasschilfers, kerstomaat, prosciutto ham en tomatensalsa € 3,30 """.strip().split("\n") ] # Sort by price. This fails if price is not always exactly "€ x,xx" but whatever # SANDWICH_MENU.sort(key=lambda dish: dish[2] + dish[3]) SANDWICH_MENU.sort(key=lambda dish: dish[2]) SALADS_MENU.sort(key=lambda dish: dish[2]) PASTA_MENU.sort(key=lambda dish: dish[2]) SANDWICHES = [ # [("small_white", "Klein wit "), ("small_brown", "Klein bruin"),], # First price [ # Second price ("large_white", "Groot wit "), ("large_brown", "Groot bruin"), # ("quattro", " Quattro "), ], ] def name_to_id(name): return "".join( filter(lambda c: ord("a") <= ord(c) <= ord("z"), name.lower().replace("é", "e")) ) for dish in SANDWICH_MENU: print() name, description = dish[0], dish[1] prices = [p.replace(",", ".") for p in dish[2:]] print( "dish sandwich_{}: Broodje {} -- {}".format(name_to_id(name), name, description) ) print("\tsingle_choice sandwich: Broodje") for sandwiches, price in zip(SANDWICHES, prices): for sw_id, sw_name in sandwiches: print("\t\t{}: {} {}".format(sw_id, sw_name, price)) for dish in SALADS_MENU: print() name, description, price = dish print( "dish salad_bowl_{}: Salad bowl {} -- {}".format(name_to_id(name), name, description) ) for dish in PASTA_MENU: print() name, description, price = dish print( "dish pasta_salad_{}: Pastasalade {} -- {}".format(name_to_id(name), name, description) ) print( """ dish fruit: Fruit € 0.5 dish soy_dessert: Sojadessert € 0.7 dish yoghurt_muesli: Yoghurt met muesli € 1 dish chocolate_mousse: Chocomousse € 1.4 dish greek_fruit_yoghurt: Griekse vruchtenyoghurt € 1.4 dish muffin: Muffin € 1 dish fizzy_water: Bruisend water 50 cl € 0.8 dish still_water: Plat water 50 cl € 0.8 dish coca_cola: Coca Cola € 1.5 dish coca_cola_zero: Coca Cola Zero € 1.5 dish fanta: Fanta € 1.5 dish fuze_tea: Fuze Tea € 1 dish finley: Finley € 1 dish iced_coffee: IJskoffie € 2""" )