コード例 #1
0
 def add_task_if_starts_in_period(self, task):
     ending_date = DateUtils.from_date_offset(self.start_date, self.num_days)
     if task.date < self.start_date:
         return False
     if task.date >= ending_date:
         return False
     self.add_task(task)
     return True
コード例 #2
0
 def __init__(self, start_date, num_days, task_filter=TaskFilter(), tasks=None):
     self.start_date = start_date
     self.num_days = num_days
     self.users = set()
     self.tasks = tasks
     self.task_filter = task_filter.create_same_filter_with_different_dates(
         self.start_date,
         DateUtils.from_date_offset(self.start_date, num_days - 1))
コード例 #3
0
    def filter_tasks(self, date=None, day_offset=None,
                     user=None, only_onsite=False):
        if date is None and day_offset is not None:
            date = DateUtils.from_date_offset(self.start_date, day_offset)

        def filter_task(task):
            if user is not None and task.user != user:
                return False
            if date is not None and not DateUtils.same_date(task.date, date):
                return False
            if only_onsite and not task.onsite:
                return False
            return True
        return list(filter(filter_task, self.tasks))
コード例 #4
0
 def get_all_dates(self):
     return [DateUtils.from_date_offset(self.start_date, offset)
             for offset in range(0, self.num_days)]