From 4ef41c18d36ce924b4833a78e692d5fa1b1d2c10 Mon Sep 17 00:00:00 2001 From: Adrian Charkiewicz Date: Tue, 7 Jun 2022 20:55:23 +0200 Subject: [PATCH] added function getTitle() and getDate() --- src/components/chane.py | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/components/chane.py diff --git a/src/components/chane.py b/src/components/chane.py new file mode 100644 index 0000000..585d6ca --- /dev/null +++ b/src/components/chane.py @@ -0,0 +1,42 @@ +from difflib import SequenceMatcher +from datetime import date +from dateutil.parser import parse + + + + + +def getDate(user_date): + #jeżeli w dacie są jakieś liczby, to uznajemy ją za poprawną datę + if any(char.isdigit() for char in user_date): + return user_date + #synonimy słów oznaczające kolejne dni + dict_today = ["dzisiaj", "dziś"] + dict_tommorow = ['jutro'] + dict_day_after_tomorrow = ['za dwa dni', 'pojutrze'] + + #sprawdzenie, jak bardzo podobne jest słowo, które podał u żytkownik do jednego z przypadków (i bierzemy najbardziej podobne) + result_today = max(map(lambda x: SequenceMatcher(a=user_date, b=x).ratio(), dict_today)) + result_tommorow = max(map(lambda x: SequenceMatcher(a=user_date, b=x).ratio(), dict_tommorow)) + result_day_after_tomorrow = max(map(lambda x: SequenceMatcher(a=user_date, b=x).ratio(), dict_day_after_tomorrow)) + + #zwrócenie wyniku dzisiaj, dzisiaj+1 (jutro), dzisiaj+2 (pojutrze) + if result_today > result_tommorow and result_today > result_day_after_tomorrow: + return date.today().strftime("%m.%d") + elif result_tommorow > result_day_after_tomorrow: + return (date.today() + datetime.timedelta(days=1)).strftime("%m.%d") + else: + return (date.today() + datetime.timedelta(days=2)).strftime("%m.%d") + + + +def getTitle(user_title): + titles=["Batman", "Na Noże", "Uncharted", "Ambulans", "Minionki", "Fantastyczne Zwierzęta", "To Nie Wypanda", + "Inni Ludzie"] + number_list = list(map(lambda x: SequenceMatcher(a=user_title, b=x).ratio(), titles)) + max_value = max(number_list) + max_index = number_list.index(max_value) + return titles[max_index] + +#def getSeats: + #pass \ No newline at end of file