def update_durations(tasks): last_date = None for idx, task in enumerate(tasks): task_date = date_helpers.parse_datetime_str(task["start_time"]) if last_date is not None: duration = task_date - last_date tasks[idx - 1]["duration"] = duration.seconds last_date = task_date
def add_line(self, line, is_after_midnight): pos = len(self.tasks) last_date = None if is_after_midnight: last_date = dateutil.parser.parse(self.date_str) last_date = date_helpers.next_day(last_date) time, new_task = convert_line_to_task(last_date, self.date_str, line) for idx, task in enumerate(self.tasks): task_date = date_helpers.parse_datetime_str(task["start_time"]) if task_date > time: pos = idx break self.tasks.insert(pos, new_task) update_durations(self.tasks)