def do(reminder_list): # Rather than simply leaving out a DisplayAlarmRecord, we're using # a trigger value of None to indicate there is no alarm: if record.trigger is None: if reminder_list.reminders: reminder_list.reminders[:] = [] return elif all_empty(record, 'trigger', 'description'): # no changes we understand return if reminder_list.reminders: reminder = reminder_list.reminders[0] else: reminder = reminder_list.add_reminder() # trigger may be a delta, or a datetime if record.trigger not in noChangeOrInherit: try: val = fromICalendarDateTime(record.trigger)[0] reminder.fixed_trigger = val.astimezone(TimeZone.default) except: try: reminder.delta = stringToDurations(record.trigger)[0] except: pass if (record.description not in noChangeOrInherit and record.description is not None): reminder.description = record.description
def fromICalendarDuration(text): return stringToDurations(text)[0]