switching.py 文件源码

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

项目:GridLight-Server 作者: Lunabit 项目源码 文件源码
def contracts_set_to_expire():
    expiring_contracts = []

    for contract in Contract.query.all():
        try:
            user = User.query.filter(User.id==contract.user_id).one()
        except (NoResultFound, MultipleResultsFound) as e:
            err = "No valid user associated with contract (id={}).".format(contract.id)
            print_log(err)
            raise InvalidUsage(message=err, status_code=500)

        today = datetime.today()
        expiration_date = contract.expiration
        notif_days = timedelta(days=user.notif_days)

        notifs_are_ready = (today - notif_days) <= expiration_date
        is_notif_day = (today - (expiration_date - notif_days)).days % user.notif_freq == 0

        if notifs_are_ready and is_notif_day:
            expiring_contracts.append(contract)

    return expiring_contracts
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号