Esempio n. 1
0
    def post(self):
        args = lor_parser.parse_args()
        phone = args.get('phone')
        code = args.get('code')
        print(type(code), phone)
        cache_code = cache.get(phone)
        print(cache_code, type(cache_code))

        if cache_code and code == str(cache_code):
            user = User.query.filter(User.phone == phone).first()
            if not user:
                user = User()
                user.phone = phone
                now_time = datetime.now().strftime('%Y%m%d%H%M%S')
                user.username = '******' + now_time
                db.session.add(user)
                db.session.commit()

            token = str(uuid.uuid4())
            print(token, '--------')
            cache.set(token, phone)
            return jsonify(code=200, msg='登录成功', token=token)

        else:
            return jsonify(code=400, msg='验证码错误')
Esempio n. 2
0
def check_super_admin():
    # Check if admin is existed in db.
    try:
        user = User.query.filter_by(username='******').first()
        # If user is none.
        if user is None:
            # Create admin user if it does not existed.
            user = User(username='******',
                        password='******',
                        email='*****@*****.**',
                        user_role='super_admin')

            # Add user to session.
            db.session.add(user)
            # Commit session.
            db.session.commit()
            # Print admin user status.
            print("Super admin was set.")
        else:
            # Print admin user status.
            print("Super admin already set.")
    except Exception as e:
        print("databases connect Error!!!")
        print(e)
        sys.exit(1)
Esempio n. 3
0
def register():
    validate_form = RegisterForm(request.form)
    if request.method == 'GET':
        pass
    if request.method == 'POST' and validate_form.validate():
        with db.auto_commit():
            user = User()
            user.set_attrs(validate_form.data)
            db.session.add(user)
        return redirect(url_for('web.login'))  # 这个地方也必须要做一个return 返回才可以
    return render_template('auth/register.html', form=validate_form)
Esempio n. 4
0
def init_create_user():
    db = get_session()
    try:
        user = User(username='******',
                    password='******',
                    email='*****@*****.**',
                    is_staff=True)
        db.add(user)

        user2 = User(
            username='******',
            password='******',
            email='*****@*****.**',
        )
        db.add(user2)

        db.commit()
    except Exception as e:
        logging.error(e)
        db.rollback()
Esempio n. 5
0
def createSampleUser(n=10):
    rge_lng = [135.776338, 135.789470]
    rge_lat = [35.025129, 35.038693]
    users = []

    lng_max = n
    lat_max = n
    rge_lng.append((rge_lng[1] - rge_lng[0]) / lng_max)
    rge_lat.append((rge_lat[1] - rge_lat[0]) / lat_max)
    for lng_num in range(lng_max):
        for lat_num in range(lat_max):
            user = User(rge_lat[2] * lat_num + rge_lat[0],
                        rge_lng[2] * lng_num + rge_lng[0])
            users.append(user)
    return users
Esempio n. 6
0
    def post(self):
        args = create_parser.parse_args()

        db = get_session()
        try:
            if db.query(User).filter_by(username=args['username']).first():
                return fail_response('Already existed username')

            if db.query(User).filter_by(email=args['email']).first():
                return fail_response('Already existed email')

            is_valid, err_msg = check_username(args['username'])
            if not is_valid:
                return fail_response(err_msg)

            is_valid, err_msg = check_password(args['password'],
                                               args['password_confirmed'])
            if not is_valid:
                return fail_response(err_msg)

            is_valid, err_msg = check_email(args['email'])
            if not is_valid:
                return fail_response(err_msg)

            user = User(username=args['username'],
                        password=args['password'],
                        email=args['email'])
            db.add(user)
            db.commit()
        except Exception as e:
            logging.error(e)
            db.rollback()
            return fail_response('Error while create user')

        data = {
            'id': user.id,
            'username': user.username,
            'email': user.email,
            'created_on': user.created_on
        }
        return success_response(data)
Esempio n. 7
0
	def post(self):
		"""
				用户注册
				:return: json
		 """
		email = request.json.get('email')
		name = request.json.get('name')
		password = request.json.get('password')
		address = request.json.get('address')
		print('request.form', email)
		user = User(name=name, email=email, address=address, password=User.set_password(password))
		print('user', user)
		result = User.add(user)
		if user.id:
			returnUser = {
				'id': user.id,
				'name': user.name,
				'email': user.email,
				'address': user.address
			}
			return jsonify(trueReturn(returnUser, "用户注册成功"))
		else:
			return jsonify(falseReturn('', '用户注册失败'))
Esempio n. 8
0
def oauth2callback():
    from apps.utils.oauth2 import AuthorizeTokens
    authorizationcode = request.args.get('code', '')
    useremail = request.args.get('state', '')

    response = AuthorizeTokens(
        GOOGLE_CLIENT_ID,
        GOOGLE_CLIENT_SECRET,
        authorizationcode,
        redirect_uri=REDIRECT_URI,
        google_account_base_url=GOOGLE_ACCOUNTS_BASE_URL)
    accesstoken = response["access_token"]

    proxies = dict(http='socks5://127.0.0.1:1080',
                   https='socks5://127.0.0.1:1080')
    r = requests.get(
        'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' +
        accesstoken,
        proxies=proxies)

    j = json.loads(r.text)

    if useremail != j['email']:
        return "e-mail和授权email不匹配"

    options = {}
    options["email"] = j.get("email")
    options["firstname"] = j.get("given_name")
    options["lastname"] = j.get("family_name")
    options["accesstoken"] = accesstoken

    if not IS_DATABASE:
        from apps.models.user import USER_NAMES, USERS
        if options["email"] in USER_NAMES:
            userid = USER_NAMES.get(options['email']).id
        else:
            userid = len(USERS) + 1

        u = User(options.get("email"), userid, options.get("firstname"),
                 options.get("lastname"), accesstoken)
        USERS[userid] = u
    else:
        u = User.query.filter(User.email == options['email']).first()
        if u:
            print u.id, u.email
        else:
            u = User(options['email'])
            print accesstoken
            db.session.add(u)
            db.session.commit()

    loginit = login_user(u, remember="yes")
    if loginit == True:
        # 用request_loader, 神坑
        session['remember'] = 'clear'
        # 生成token,并返回
        token = u.hmac_md5(int(time.time()))
        token = 'token:%s' % token
        session['token'] = token
        redis_local_db.setex(token, 600, u.id)
        return jsonify({'c': 0, 'd': {'token': token}})
    return "Some Problem happened"
Esempio n. 9
0
 def __init__(self):
     self.user = User()
     self.post = Post()
     self.pet = Pet()
     self.db = DB()
     self.report = Report()