menus/s5_generate.py

87 lines
3.2 KiB
Python
Raw Normal View History

2020-09-18 19:41:59 +02:00
#!/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 """
2020-09-18 19:48:32 +02:00
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
2020-09-18 19:41:59 +02:00
""".strip().split(
"\n"
)
]
# Sort by price. This fails if price is not always exactly "€ x,xx" but whatever
2020-09-18 19:48:32 +02:00
# MENU.sort(key=lambda dish: dish[2] + dish[3])
MENU.sort(key=lambda dish: dish[2])
2020-09-18 19:41:59 +02:00
SANDWICHES = [
2020-09-18 19:48:32 +02:00
# [("small_white", "Klein wit "), ("small_brown", "Klein bruin"),], # First price
2020-09-18 19:41:59 +02:00
[ # Second price
("large_white", "Groot wit "),
("large_brown", "Groot bruin"),
2020-09-18 19:48:32 +02:00
# ("quattro", " Quattro "),
2020-09-18 19:41:59 +02:00
],
]
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"""
)