Python Forum
Help adding a loop inside a loop
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help adding a loop inside a loop
#12
Did you run my example? What it does is pretty obvious when you run the example.

The scheduler knows when to run an event because you pass the scheduled time as one of the arguments to schedule.enter() or schedule.enterabs(). enter(delta) schedules the event to run when the clock reaches current_time + delta. enterabs(abs_time) schedules the event to run when the clock reaches abs_time.

You don't need to call cursor.commit() unless you did something that changes the database. SELECT does not change the database.

You don't need to use fetchall().

Instead of this:
connection = sqlite3.connect(MainDatabase)
cursor = connection.cursor()
# Get the Reminder & it's scheduled Date & Time
cursor.execute("SELECT Reminder, Date, Time FROM Reminders")
Results = cursor.fetchall()
connection.commit()
connection.close()
 
#For each reminder, add an event to the schedule (enter/enterabs)
for row in Results:
    print(row)
Do this:
connection = sqlite3.connect(MainDatabase)
cursor = connection.cursor()
# Get the Reminder & it's scheduled Date & Time
for row in cursor.execute("SELECT Reminder, Date, Time FROM Reminders")
    print(row)
connection.close()
You really don't even need the cursor.
connection = sqlite3.connect(MainDatabase)
# Get the Reminder & it's scheduled Date & Time
for row in connection.execute("SELECT Reminder, Date, Time FROM Reminders"):
    print(row)
connection.close()
Why are you saving the schedule time as Date, Time instead of DateTime? I don't know what you have for Date or Time, so in the code below I use a magical function that combines date and time to give you datetime.
def send_reminder(message, scheduled_time):
    """Function called when time to send reminder"""
    print(f"{scheduled_time}: {message}

def schedule_reminder(reminder, date, time):
    """Schedule a reminder"""
    scheduled_time = date_and_time_to_datetime(date, time)
    schedule.enterabs(schedule_time.timestamp(), send_reminder, arguments=(reminder, scheduled_time))

...
#somewhere in the startup portion of the main code
# Schedule all the reminders
schedule = sched.scheduler(time.time, time.sleep)
connection = sqlite3.connect(MainDatabase)
for reminder in connection.execute("SELECT Reminder, Date, Time FROM Reminders"):
    schedule_reminder(*reminder)
connection.close()

...
# somewhere later in your main code
while True:
    schedule.run(False)
    # do other stuff
Reply


Messages In This Thread
Help adding a loop inside a loop - by Extra - Oct-09-2022, 09:37 PM
RE: Help adding a loop inside a loop - by Extra - Oct-09-2022, 10:41 PM
RE: Help adding a loop inside a loop - by Extra - Oct-10-2022, 02:36 PM
RE: Help adding a loop inside a loop - by Extra - Oct-10-2022, 03:01 PM
RE: Help adding a loop inside a loop - by Extra - Oct-10-2022, 05:07 PM
RE: Help adding a loop inside a loop - by Extra - Oct-10-2022, 06:38 PM
RE: Help adding a loop inside a loop - by deanhystad - Oct-10-2022, 07:25 PM
RE: Help adding a loop inside a loop - by Extra - Oct-10-2022, 07:31 PM
RE: Help adding a loop inside a loop - by Extra - Oct-15-2022, 03:52 PM
RE: Help adding a loop inside a loop - by Extra - Oct-15-2022, 07:10 PM
RE: Help adding a loop inside a loop - by Extra - Oct-15-2022, 11:12 PM
RE: Help adding a loop inside a loop - by Extra - Oct-16-2022, 12:17 AM
RE: Help adding a loop inside a loop - by Extra - Oct-16-2022, 06:10 PM
RE: Help adding a loop inside a loop - by Extra - Oct-17-2022, 10:41 PM
RE: Help adding a loop inside a loop - by Extra - Oct-17-2022, 11:23 PM
RE: Help adding a loop inside a loop - by Extra - Oct-19-2022, 01:01 AM
RE: Help adding a loop inside a loop - by Extra - Oct-23-2022, 12:16 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Need help with a while loop ampereap 4 185 May-31-2024, 02:25 PM
Last Post: ampereap
  problem program runs in a loop jasserin 0 184 May-18-2024, 03:07 PM
Last Post: jasserin
  [SOLVED] Loop through directories and files one level down? Winfried 3 411 Apr-28-2024, 02:31 PM
Last Post: Gribouillis
  Loop through all files in a directory? Winfried 10 769 Apr-23-2024, 07:38 PM
Last Post: FortuneCoins
  for loop not executing Abendrot47 2 349 Apr-09-2024, 07:14 PM
Last Post: deanhystad
  Re Try loop for "net use..." failures tester_V 10 805 Mar-02-2024, 08:15 AM
Last Post: tester_V
  File loop curiously skipping files - FIXED mbk34 10 1,055 Feb-10-2024, 07:08 AM
Last Post: buran
  Optimise multiply for loop in Python KenBCN 4 595 Feb-06-2024, 06:48 PM
Last Post: Gribouillis
  Basic binary search algorithm - using a while loop Drone4four 1 480 Jan-22-2024, 06:34 PM
Last Post: deanhystad
  loop through csv format from weburl in python maddyad82 3 539 Jan-17-2024, 10:08 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020