def register_user(request, access_token): btid = request.args.get('btid') if btid: users = User.get_collection() user = User.find_one({'btid': btid}) if user: user['access_key'] = access_token user['uids'][request.args['service']] = request.args['uid'] User.save(user) user = User(**user) else: user = User(btid, access_token, uids = {request.args['service']: request.args['uid']}, confirmed = True) user_id = User.get_collection().insert(dict(user)) user._id = user_id session[TOKENS_KEY] = user['access_key'] return user return None