Oct-16-2022, 12:17 AM
Edit:
Did this:
Did this:
format = "%Y-%m-%d %H:%M:%S" scheduled_time2 = datetime.strptime(DateTimeStr, format)No format error but I get this output:
Output:Reminders in Database: ('Test 1', '2022-10-15 11:25:00')
Reminders in Database: ('Test 2', '2022-10-15 11:28:00')
Reminders in Database: ('Test 3', '2022-10-15 11:30:00')
Reminders in Database: ('Test 4', '2022-10-15 20:19:00')
Scheduled Time: ('2022-10-15 11:25:00',)
DateTime String: 2022-10-15 11:25:00
Scheduled Time: ('2022-10-15 11:28:00',)
DateTime String: 2022-10-15 11:28:00
Scheduled Time: ('2022-10-15 11:30:00',)
DateTime String: 2022-10-15 11:30:00
Scheduled Time: ('2022-10-15 20:19:00',)
DateTime String: 2022-10-15 20:19:00
Current Date Time: 2022-10-15 20:20:00
Reminders Popup: ('2022-10-15 20:19:00',): Test 1
Reminders Popup: ('2022-10-15 20:19:00',): Test 3
Reminders Popup: ('2022-10-15 20:19:00',): Test 2
Reminders Popup: ('2022-10-15 20:19:00',): Test 4
Which is weird because the Reminder Popup says all 4 reminders are scheduled for 8:19 but they're not (only Test 4 was)import sched import time import sqlite3 from tokenize import Double from BX_External_Functions import checkForReminders, reminderPopup from BX_Constants import MainDatabase, currentdate, currentTime from datetime import datetime #Create schedule scheduler = sched.scheduler(time.time, time.sleep) #Read in reminders from database #For each reminder, add an event to the schedule (enter/enterabs) connection = sqlite3.connect(MainDatabase) for row in connection.execute("SELECT Reminder, DateTime FROM Reminders"): print("Reminders in Database: ", row) connection.close() print("\n") connection = sqlite3.connect(MainDatabase) for row in connection.execute("SELECT DateTime FROM Reminders"): scheduled_time = row print("Scheduled Time: ", scheduled_time) #---------- #Convert scheduled_time from Tuple to List from itertools import chain DateTimeList = list(chain.from_iterable(scheduled_time)) #Then Convert the List to a String DateTimeStr = "".join(str(x) for x in DateTimeList) print("DateTime String:", DateTimeStr) format = "%Y-%m-%d %H:%M:%S" scheduled_time2 = datetime.strptime(DateTimeStr, format) #---------- connection.close() import datetime currentdate = datetime.date.today() from datetime import datetime timeNow = datetime.now() currentTime = timeNow.strftime("%I:%M %p") Current_DateTime = datetime.strptime(f"{currentdate} {currentTime}", "%Y-%m-%d %I:%M %p") print("\nCurrent Date Time: ", Current_DateTime ,"\n") # #If a new reminder is created, add it to the database & add an event to the schedule # scheduler.enterabs() # #Inside Baxter's while True loop, call schedule.run(blocking=False) # print ('Checking for reminders...') # scheduler.run(False) def schedule_reminder(reminder): """Schedule a reminder""" scheduler.enterabs( time=scheduled_time2.timestamp(), priority=1, action=send_reminder, argument=(reminder, scheduled_time)) def send_reminder(Reminder, scheduled_time): """Function called when time to send reminder""" print(f"Reminders Popup: {scheduled_time}: {Reminder}") #Read in reminders from database connection = sqlite3.connect(MainDatabase) for reminder in connection.execute("SELECT Reminder FROM Reminders"): schedule_reminder(*reminder) connection.close() # somewhere later in your main code while True: scheduler.run(False) # do other stuff