menus/s5_generate.py

108 lines
3.8 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
2021-06-19 14:29:55 +02:00
SANDWICH_MENU = [
2020-09-18 19:41:59 +02:00
l.split("\t")
for l in """
2020-09-18 19:48:32 +02:00
Kaas Kaas, ei, komkommer, sla, tomaat en mayonaise 2,10
2021-06-19 14:29:55 +02:00
Tomaat-mozzarella Mozzarella, tomaat, basilicumpesto en sla 2,60
2020-09-18 19:48:32 +02:00
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
2021-06-19 14:29:55 +02:00
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")
2020-09-18 19:41:59 +02:00
]
2021-06-19 14:29:55 +02:00
2020-09-18 19:41:59 +02:00
# Sort by price. This fails if price is not always exactly "€ x,xx" but whatever
2021-06-19 14:29:55 +02:00
# 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])
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"))
)
2021-06-19 14:29:55 +02:00
for dish in SANDWICH_MENU:
2020-09-18 19:41:59 +02:00
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))
2020-09-18 19:41:59 +02:00
2021-06-19 14:29:55 +02:00
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)
)
2020-09-18 19:41:59 +02:00
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
2020-09-18 19:41:59 +02:00
2021-06-19 14:29:55 +02:00
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
2020-09-18 19:41:59 +02:00
dish finley: Finley 1
2021-06-19 14:29:55 +02:00
dish iced_coffee: IJskoffie 2"""
2020-09-18 19:41:59 +02:00
)