Пример #1
0
 def new(cls, form):
     """给外部使用的函数."""
     # 筛选出存在于表字段中的 k
     d_ = cls.filter_form(form)
     # d_增加 created 字段
     d_['created'] = today_text()
     # 插入数据库中
     debug(f'd_: {d_}')
     cls.insert(d_)
Пример #2
0
 def _query_plans():
     today_t = today_text()
     ds = review_days(today_t)
     # 查询得到在这8个日期下, 创建的cards<sqlite3.Row>.
     _cs = list(map(Card.find_by_ct, ds))
     _cs = list(filter(lambda i: i, _cs))  # 过滤下 cs 中的 None 子元素.
     # find_by_ct 返回的本身是 list, 于是 cs 是嵌套列表.
     cs = unpack(_cs)
     return cs
Пример #3
0
 def _query_plans_id():
     """查找今日 plans 的过程."""
     # 生成日期字符串8个.
     today_t = today_text()
     ds = review_days(today_t)
     # 查询得到在这8个日期下, 创建的cards<sqlite3.Row>.
     cs = list(map(Card.find_id_by_ct, ds))
     cs = list(filter(lambda i: i, cs))  # 过滤下 cs 中的 None 子元素.
     # find_by_ct 返回的本身是 list, 于是 cs 是嵌套列表.
     cs = unpack(cs)
     # cs = list(map(lambda c: list(c), _cs))
     return cs
Пример #4
0
    def new(cls, form):
        """给外部使用的函数."""

        # 1. 更新实例的字段.
        c = cls()
        # 整理来自 form 的数据, 但是不包括 'created' 字段。
        # 这里去掉实例 c.__fields__ 中的 ‘created’,稍后自己设置.
        if ('created', str, '20010101') in c.__fields__:
            c.__fields__.remove(('created', str, '20010101'))
        c.setattr_with_form(form)
        # 更新 'created' 字段, 为当前实例创建的时间(str).
        setattr(c, 'created', today_text())

        # 2, 存入数据库中.
        c.insert()
        # 3, 返回插入数据的 id
        id_ = cls.query_max_id()
        log(f'验证查询到的最近插入记录的 id_ 是整数: {type(id_), id_}')
        return id_
Пример #5
0
    def new(cls):
        """返回 MarkPlan 类的实例,

        实例的属性 is_updated, 表示是否需要更新 plan DB.

        1, 查询 mark_plan DB 标记的日期是否是今天.
        #暂时没有必要去查询这个 2, 查询今天是否添加了单词,
        """
        self = cls()

        ct_db = MarkPlan.query_ct()

        log(f'验证 ct_db 是表示时间的字符串: {ct_db}')
        if today_text() == ct_db:
            # 是当天,不需要更新;
            self.is_updated = False
        else:
            # 不是当天, 需要更新.
            MarkPlan.update_db()
            self.is_updated = True
        return self
Пример #6
0
 def update_db(cls):
     log('to test.')
     ct_ = today_text()
     log(f'更新数据库 mark_plan: (id_, {ct_}, ).')
     d_ = {'ct': ct_}
     execute(cls.__table__.update(), d_)