From f4f25167a779f46e0b587b63af5c172ab8aa0f04 Mon Sep 17 00:00:00 2001 From: Rahul Bothra Date: Tue, 29 Oct 2019 23:20:34 +0530 Subject: [PATCH] Enable "tomorrow's menu" option * users can query "What is in breakfast tomorrow" and get a response * feature request stemmed from observing user message logs --- src/query_sort.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/query_sort.py b/src/query_sort.py index 426df27..b5e2d0f 100644 --- a/src/query_sort.py +++ b/src/query_sort.py @@ -57,7 +57,10 @@ def sort_query(msg_text, sender_id): for meal in ["lunch", "dinner", "breakfast"]: if meal in msg_list: - message_pack = get_text(get_meal(meal)) + if 'tomorrow' in msg_list: + message_pack = get_text(get_meal(meal,tomorrow=True)) + else: + message_pack = get_text(get_meal(meal)) if not message_pack: message_pack = sort(msg_list) @@ -122,7 +125,6 @@ def get_name(sender_id): else: return '' - def clean_text(text): text = text.lower() text = text.replace("'s", '') @@ -156,12 +158,15 @@ def say_sorry(): return get_text(random.choice(sorry_msgs)) -def get_meal(mealtype): +def get_meal(mealtype,tomorrow=False): """ Get today's meal. mealtype: breakfast / lunch / dinner. """ now = datetime.datetime.now( pytz.timezone( 'Asia/Kolkata')).date( - ).strftime( + ) + if tomorrow: + now += datetime.timedelta(days=1) + now = now.strftime( '%d-%m-%Y') if now != MESS['date']: @@ -172,9 +177,14 @@ def get_meal(mealtype): return "" MESS['date'] = now - MESS["lunch"] = "Today's lunch:\n" + "\n".join(today["lunch"]) - MESS["breakfast"] = "Today's breakfast:\n" + \ + + prefix = 'today\'s' + if tomorrow: + prefix = 'tomorrow\'s' + + MESS["lunch"] = f"{prefix} lunch:\n" + "\n".join(today["lunch"]) + MESS["breakfast"] = f"{prefix} breakfast:\n" + \ "\n".join(today["breakfast"]) - MESS["dinner"] = "Today's dinner:\n" + "\n".join(today["dinner"]) + MESS["dinner"] = f"{prefix} dinner:\n" + "\n".join(today["dinner"]) return MESS[mealtype]