示例#1
0
 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)
示例#2
0
 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)
示例#3
0
 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)