File size: 3,263 Bytes
bd004c5 470af02 bd004c5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
import re
# from listen import *
# find time in the string input provided by the user
def findTime(input):
# time = re.search(r'\d{1,2}:\d{2}', input)
# meridiem = re.search(r'\b(am|pm)\b', input)
# if time:
# tvalue = f"{time.group()} {meridiem.group()}"
# return tvalue
# else:
# return "notime"
time_regex1 = r"(1[0-2]|[1-9]):[0-5][0-9] (am|AM|PM|pm)"
time_search = re.search(time_regex1, input)
if time_search:
time = time_search.group(0)
# meridian = time_search.group(2)
return time
else:
time_regex2 = r"(1[0-2]|[1-9])\s?(am|AM|pm|PM)"
time_search = re.search(time_regex2, input)
if time_search:
time = time_search.group(0)
# meridian = time_search.group(2)
return time
else:
return "notime"
# find number in the string input provided by the user
def findNumber(input):
number = re.search(r'\d+(?:st|nd|rd|th)', input)
if number:
return number.group()
else:
return "nonum"
# # find date in the string input provided by the user
def findDate(input):
date = re.search(r'\d{1,2}/\d{1,2}/\d{4}', input)
if date:
return date.group()
else:
return "nodate"
# find month in the string input provided by the user
def findMonth(input):
month = re.search(r'\b(january|february|march|april|may|june|july|august|september|october|november|december|next month)\b', input)
if month:
return month.group()
else:
return "nomonth"
# find day in the string input provided by the user
def findDay(input):
day = re.search(r'\b(monday|tuesday|wednesday|thursday|friday|saturday|sunday|tomorrow|day after tomorrow|this week|next week|today)\b', input)
if day:
return day.group()
else:
return "noday"
def findrepeat(input):
repeat = re.search(r'\b(daily|everyday|every week|every month|every sunday|every monday|every tuesday|every wednesday|every thursday|every friday|every saturday)\b', input)
if repeat:
return repeat.group()
else:
return "norepeat"
def getValues(query):
time = findTime(query)
num = findNumber(query)
reps = findrepeat(query)
date = findDate(query)
month = findMonth(query)
day = findDay(query)
message = query.lower().replace(num, "").replace(month,"").replace(time, "").replace(day, "").replace(reps, "").replace("create a reminder", "").replace("remind me to", "").replace("cosmo", "").replace("remind", "").replace("at", "")
values = {"message": message,
"time": time,
"day": day,
"date": date,
"reps": reps,
"num": num,
"month": month
}
return values
# query = "remind me to work on my portfolio at 5:00 pm tomorrow"
# print(getValues(query))
# query = input("Enter your query : ")
# # time = findTime(query)
# # date = findDate(query)
# # day = findDay(query)
# # if day == "noday":
# # print("No day")
# # elif time == "notime":
# # print("Time not found")
# # else:
# # print("Time found")
# # query = MicExecution()
# print(findDay(query)) |