def del_alarm(self, event_time: time, when: When) -> None: """ Delete alarm from queue """ logger.debug(f"Trying delete {event_time}") target = event_time if when == When.auto: target = calculate_auto_time(event_time) self.alarms[when.value].discard(target)
def list_formatted(self, all_alarms: bool = False) -> InfoList: """ Returns information about alarms """ alarms = self.list_alarms(all_alarms) info_list = list() for alarm in alarms: when_str = alarm.when.value if alarm.when == When.auto: date_time = calculate_auto_time(alarm.time, ) when_str = str(date_time.date()) info_list.append( AlarmInfo( time=alarm.time, remaining=str(alarm.delta).split(".")[0], when=when_str, canceled=self.is_canceled(alarm.time, when=alarm.when), )) return InfoList(alarms=info_list)
def add_alarm(self, event_time: time, when: When) -> None: logger.debug(f"Adding {event_time}") target = event_time if when == When.auto: target = calculate_auto_time(event_time) self.alarms[when.value].add(target)