def _when_source(self): """ Source for displayed date is either fixed_reminder trigger or event start. If neither is available, fall back to created. The first-future, or last-past, user-defined date is used. """ past = [] future = [] if self._reminder and self._reminder.fixed_trigger: fixed_trigger = self._reminder.fixed_trigger l = past if is_past(fixed_trigger) else future l.append((fixed_trigger, 'reminder')) if self.is_event: event_start = Event(self._item).start if event_start: l = past if is_past(event_start) else future l.append((event_start, 'event')) past.sort() future.sort() if future: return future[0][1] elif past: return past[-1][1] return 'created'
def is_started(self): if self.start is None: return True return is_past(self.start)
def reminder_scheduled(self): if not self._reminder or not self._reminder.trigger: return False else: return not is_past(self._reminder.trigger)