Newer
Older
from datetime import time, datetime
from time import sleep
# Simple Alarm Clock has 5 functionalities:
# 1. Set Alarm Time - Set the time for the alarm to sound, does NOT make the alarm active
# 2. Start Alarm - Make the alarm active, which will run the timer until it reaches the specified time
# 3. Sound Alarm - Play the sound for the alarm
# 4. Snooze Alarm - Stop the alarm sound and wait for some time to play the alarm again
# 5. Stop Alarm - If the alarm is active or is playing, stop the alarm (deactivate state)
ALARM_TIME = time(19, 13, 0)
SNOOZE_KEY = keyboard.Key.up
ALARM_OFF_KEY = keyboard.Key.esc
def simple_alarm_mode(alarm_clock: BaseAlarmClock):
alarm_clock.start_alarm()
while not alarm_clock.alarm_check_reached():
print(f"ALARM SLEEPING @: {datetime.now().time()}")
sleep(1)
alarm_clock.sound_alarm()
while alarm_clock.current_state is not AlarmState.DEACTIVATED:
with keyboard.Events() as events:
for event in events:
if event.key == ALARM_OFF_KEY:
alarm_clock.stop_alarm()
break
elif event.key == SNOOZE_KEY:
alarm_clock.snooze_alarm()
alarm_clock = BaseAlarmClock(ALARM_TIME)
simple_alarm_mode(alarm_clock)