def calendar_sql(gid, pid, year, month, show_subtasks):
if show_subtasks:
q = DBS.query(Task).filter_by(gid=gid, pid=pid)
else:
q = DBS.query(Task).filter_by(gid=gid, pid=pid, ptid=0)
rs = q.all()
task_d = {}
for r in rs:
if str(r.due_date) not in task_d:
task_d[str(r.due_date)] = r.name
else:
task_d[str(r.due_date)] += "\n" + r.name
calendar.setfirstweekday(6)
calendar_a = calendar.monthcalendar(year, month)
for week in range(len(calendar_a)):
for day in range(7):
date_num = calendar_a[week][day]
if date_num == 0:
calendar_a[week][day] = {'date_num': 0, 'tasks': ""}
# TODO: show out of month days and tasks
continue
str_date = datetime.date(year, month, date_num)\
.strftime('%Y-%m-%d')
calendar_a[week][day] = {'date_num': date_num,
'tasks': task_d[str_date]
if str_date in task_d else ''}
return calendar_a
评论列表
文章目录