request_hooks.py 文件源码

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

项目:Saylua 作者: LikeMyBread 项目源码 文件源码
def load_user():
    # Make sure not to run function for static files
    if request.url_rule and '/static/' in request.url_rule.rule:
        return

    # Load user
    session_id = request.cookies.get('session_id')
    user_id = request.cookies.get('user_id')

    if session_id and user_id:
        try:
            user_id = int(user_id)
        except ValueError:
            return

        session = db.session.query(LoginSession).get((session_id, user_id))

        if session:
            user = session.user

            if user and session.active:
                g.logged_in = True
                g.user = user

                # Update user's last_action timestamp if it's been at least
                # LAST_ACTION_OFFSET minutes.
                current = datetime.datetime.now()
                mins_ago = current - datetime.timedelta(
                    minutes=app.config['LAST_ACTION_OFFSET'])

                if g.user and g.user.last_action < mins_ago:
                    g.user.last_action = current
                    db.session.commit()

                return

    g.logged_in = False
    g.user = None
    return
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号