menus/s5_generate.py
2020-09-18 19:48:32 +02:00

86 lines
3.2 KiB
Python
Executable file

#!/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
MENU = [
l.split("\t")
for l in """
Kaas Kaas, ei, komkommer, sla, tomaat en mayonaise € 2,10
Tomaat-mozzarella Mozzarella, tomaat, basilicum pesto en sla € 2,60
Caesar Kippenreepjes, Gran Moravia kaasschilfers, croutons, sla en caesardressing € 2,50
Gerookte zalm met kruidenkaas Gerookte zalm, kruidenkaas en ui € 2,60
Maison Ham, kaas, augurk, ei, sla, tomaat, cocktailsaus en mayonaise € 2,40
Toscane Mozzarella, prosciutto ham, sla en tomatensalsa € 2,70
Groentespread Wekelijks wisselende groentespread € 2,60
""".strip().split(
"\n"
)
]
# Sort by price. This fails if price is not always exactly "€ x,xx" but whatever
# MENU.sort(key=lambda dish: dish[2] + dish[3])
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 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))
print(
"""
dish yoghurt: Natuuryoghurt € 0.4
dish yofu: Plantaardige yofu € 1
dish yoghurt_muesli: Yoghurt met muesli € 1
dish greek_fruit_yoghurt: Griekse vruchtenyoghurt € 1.4
dish chocolate_mousse: Chocomousse € 1.4
dish speculoos_mousse: Speculaasmousse € 1.4
dish soy_dessert: Soja dessert € 0.7
dish tiramisu: Tiramisu € 1.4
dish muffin: Muffin € 1
dish donut: Donut € 1
dish ice_variation: IJsvariatie € 2.3
dish fruit: Fruit € 0.5
dish nuts_fruit: Nuts & fruit € 1.5
dish chocolate_milk: Koude chocolademelk € 0.8
dish juice: Fruitsap 20 cl Fair Trade € 0.8
dish water: Bruisend water 50 cl € 0.8
dish perfumed_water: Gearomatiseerd water 50 cl € 1
dish bionade: Bionade € 1.5
dish finley: Finley € 1
dish iced_coffee: IJskoffie € 2
dish iced_tea: IJsthee € 2
dish smoothie: Smoothie € 2"""
)