handlers.py 文件源码

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

项目:python3-webapp 作者: chenpengcong 项目源码 文件源码
def api_register_user(*, email, name, passwd):
    '''
    ????,?????cookie
    '''
    if not name or not name.strip():
        raise APIValueError('name')
    if not email or not _RE_EMAIL.match(email):
        raise APIValueError('email')
    if not passwd or not _RE_SHA1.match(passwd):
        raise APIValueError('passwd')
    users = await User.findAll('email=?', [email])
    if len(users) > 0:
        raise APIError('register:failed', 'email', 'Email is already in use.') 
    uid = next_id()
    sha1_passwd = '%s:%s' % (uid, passwd)
    # image ????????gravatar??????
    user = User(id = uid, name = name.strip(), email = email, passwd = hashlib.sha1(sha1_passwd.encode('utf-8')).hexdigest(), image = 'http://www.gravatar.com/avatar/%s?d=mm&s=120' % hashlib.md5(email.encode('utf-8')).hexdigest())
    await user.save()
    # make session cookie:
    r = web.Response()
    r.set_cookie(COOKIE_NAME, user2cookie(user, 86400), max_age = 86400, httponly = True)
    user.passwd = '******'
    r.content_type = 'application/json'
    r.body = json.dumps(user, ensure_ascii = False).encode('utf-8')
    return r
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号