db.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:thunderingplains 作者: lyctc 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号