def add(self, label, day=None, *, task_index=None, **args): #task_index = Calendar.parse_listkey(index_str)) if day==None: daykey = 'inbox' else: date = parse_datetime(day) daykey = Calendar.date_to_daykey(date) args.update({'label':label}) self.cal.add( daykey=daykey, task_index=task_index, task=Task(**args))
def render(self, init_date): inbox = False if init_date == 'inbox': taskss = [self.cal['inbox']] heads = ['Inbox'] else : if isinstance(init_date, str): init_date = parse_datetime(init_date) key = Calendar.date_to_daykey(init_date) taskss = [self.cal[k] for k in range(key, key+self.colnum)] heads = [(init_date + timedelta(days=i)).strftime('%a %d. %b') for i in range(self.colnum)] explicite = [[t for t in tasks if t.termin] for tasks in taskss] implicite = [[t for t in tasks if not t.termin] for tasks in taskss] return self._render(heads, explicite, implicite)