def new(cls, form): """给外部使用的函数.""" # 筛选出存在于表字段中的 k d_ = cls.filter_form(form) # d_增加 created 字段 d_['created'] = today_text() # 插入数据库中 debug(f'd_: {d_}') cls.insert(d_)
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
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
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_
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
def update_db(cls): log('to test.') ct_ = today_text() log(f'更新数据库 mark_plan: (id_, {ct_}, ).') d_ = {'ct': ct_} execute(cls.__table__.update(), d_)