예제 #1
0
 def post(self):
     logger.debug("---Inside Task post()---")
     # CREATE ONE USER
     data = request.get_json()
     table_obj = UserTable(data)
     table_obj.create_user()
     return UserTableTask.get(self)
예제 #2
0
 def add_days(self, w_list):  # добавление выбранного диапозон в базу
     for day in w_list:
         new_w = UserTable(date=day['дата'],
                           t_day=day['температура_днем'],
                           t_night=day['температура_ночью'],
                           desc=day['погода'])
         new_w.save()
예제 #3
0
    def post(self):
        parse = reqparse.RequestParser()
        parse.add_argument('email',
                           type=str,
                           help='email验证不通过',
                           default='*****@*****.**')
        parse.add_argument('password', type=str, help='密码验证不通过')
        args = parse.parse_args()

        email = args.get('email')
        password = args.get('password')
        password_hash = generate_password_hash(password)
        try:
            user = UserTable(email=email, password_hash=password_hash)
            db.session.add(user)
            db.session.commit()
        except:
            print("{} User add: {} failure...".format(
                time.strftime("%Y-%m-%d %H:%M:%S"), email))
            db.session.rollback()
            response = make_response(jsonify(code=34, message='user add fail'))
            return response
        else:
            print("{} User add: {} success...".format(
                time.strftime("%Y-%m-%d %H:%M:%S"), email))
            response = make_response(
                jsonify(code=0,
                        message='user add success',
                        data={'user': self.serialize_user(user)}))
            return response
        finally:
            db.session.close()
예제 #4
0
    def check_auth_code():
        email = request.json['email']
        code = request.json['code']

        for item in codeList:
            if item['email'] == email and item['code'] == int(code):
                codeList.remove(item)

                user = UserTable.query.filter_by(email=email).first()

                if user:
                    access_token = create_access_token(identity=user.id,
                                                       expires_delta=False)

                    return jsonify(access_token=access_token), 200

                newUser = UserTable(email=email)

                db.session.add(newUser)
                db.session.commit()

                access_token = create_access_token(identity=newUser.id)
                return jsonify(access_token=access_token), 200

        return 'Wrong code!', 401
예제 #5
0
def register():
    form = userForm.RegisterForm()
    title = u"注册"
    if form.validate_on_submit():
        email = form.email.data
        username = form.username.data
        password = form.password.data
        authText = form.verification_code.data

        find = UserTable.query.filter(UserTable.email == email).first()
        if 'code_text' in session and session["code_text"] != authText:
            flash(u"验证码错误", category="warning")
            # code_img = getAuthPicture()
            # return redirect(url_for(".register", form=form, code_img=code_img, title=title))
        elif find:
            flash(message=u"邮箱已经被注册", category='warning')
            # code_img = getAuthPicture()
            # return redirect(url_for(".register", form=form, code_img=code_img, title=title))
        else:
            user = UserTable(email=email, username=username, password=password)
            try:
                db.session.add(user)
                db.session.commit()
                return redirect(url_for('.login'))
            except:
                db.session.rollback()
                flash(u"注册失败", category="error")
                code_img = getAuthPicture()
                return redirect(url_for(".register", form=form, code_img=code_img, title=title))
    code_img = getAuthPicture()
    # session['code_text'] = code_text
    return render_template("register.html", form=form, code_img=code_img, title=title)
예제 #6
0
def register():
    if request.method == 'POST':
        new_user = UserTable(id=request.form['id'],
                             pw=request.form['password'],
                             name=request.form['user_name'],
                             email=request.form['user_email'])
        db.session.add(new_user)
        db.session.commit()
        return redirect(url_for('home'))
    return render_template('register.html')
예제 #7
0
 def add_user(self, data: dict):
     user = self.get_user_by_uuid(data['uuid'])
     if user:
         return user
     user = UserTable(**data)
     self.session.add(user)
     try:
         self.session.commit()
     except InvalidRequestError:
         self.session.rollback()
         raise InvalidRequestError
     return user
예제 #8
0
파일: app.py 프로젝트: wangbei98/MLOJ
def initdb(drop):
    """Initialize the database."""
    if drop:
        db.drop_all()
        click.echo('Drop tables')
    db.create_all()
    # 在数据库中存储一个默认根目录 root  id = 0
    admin = UserTable(uid=123456,
                      password_hash=generate_password_hash('123456'),
                      username='******',
                      is_admin=1)
    db.session.add(admin)
    db.session.commit()
    click.echo('Initialized database.')
예제 #9
0
파일: auth.py 프로젝트: wangbei98/MLOJ
    def post(self):
        parse = reqparse.RequestParser()
        parse.add_argument('uid',
                           type=int,
                           help='用户id验证不通过',
                           default=201000000)
        parse.add_argument('username', type=str, help='用户名验证不通过')
        parse.add_argument('password', type=str, help='密码验证不通过')
        args = parse.parse_args()

        uid = args.get('uid')
        username = args.get('username')
        password = args.get('password')
        password_hash = generate_password_hash(password)
        try:
            user = UserTable(uid=uid,
                             password_hash=password_hash,
                             username=username)
            db.session.add(user)
            db.session.commit()
        except:
            print("{} User add: {} failure...".format(
                time.strftime("%Y-%m-%d %H:%M:%S"), uid))
            db.session.rollback()
            response = make_response(jsonify(code=34, message='user add fail'))
            return response
        else:
            print("{} User add: {} success...".format(
                time.strftime("%Y-%m-%d %H:%M:%S"), uid))
            response = make_response(
                jsonify(code=0,
                        message='user add success',
                        data={'user': user.to_json()}))
            return response
        finally:
            db.session.close()
예제 #10
0
async def create_register(request: Request):
    # POSTされた情報取得
    data = await request.form()
    username = data.get('username')
    password = data.get('password')
    password_tmp = data.get('password_tmp')
    mail = data.get('mail')

    error = []

    # UserTableから登録しようとしてるユーザーがないか
    tmp_user = db.session.query(UserTable).filter(
        UserTable.username == username).first()

    # 登録に関するバリデーション
    if tmp_user is not None:
        error.append('同じユーザー名のユーザーが存在します')
    if password != password_tmp:
        error.append('入力したパスワードが一致しません')
    if pattern.match(username) is None:
        error.append('ユーザー名は4〜20文字の半角英数字にしてください')
    if pattern_pw.match(password) is None:
        error.append('パスワードは6〜20文字の半角英数字にしてください')
    if pattern_mail.match(mail) is None:
        error.append('正しくメールアドレスを入力してください')

    # エラー含めviewに渡す
    if error:
        return templates.TemplateResponse('register.html', {
            'request': request,
            'username': username,
            'error': error
        })

    # 問題ない場合はUserTableに登録
    user = UserTable(username, password, mail)
    db.session.add(user)
    db.session.commit()
    db.session.close()

    return templates.TemplateResponse('complete.html', {
        'request': request,
        'username': username
    })
예제 #11
0
def initdb(drop):
    """Initialize the database."""
    if drop:
        db.drop_all()
        click.echo('Drop tables')
    db.create_all()
    # 在数据库中存储一个默认根目录 root  id = 0
    root_of_default_user = FileNode(id=-1,
                                    filename='',
                                    path_root='',
                                    parent_id=-2,
                                    type_of_node='dir')
    # 创建 管理员
    default_user = UserTable(uid=-1,
                             email='*****@*****.**',
                             password_hash=generate_password_hash('123456'))
    db.session.add(root_of_default_user)
    db.session.add(default_user)
    db.session.commit()
    click.echo('Initialized database.')
예제 #12
0
 def get_days(self):  # получение всех данных из базы
     for day in UserTable.select():
         print(f'Дата: {day.date},'
               f' Погода: {day.desc},'
               f' Температура днем {day.t_day},'
               f' Температура ночью {day.t_night}')
예제 #13
0
 def get(self):
     logger.debug("---Inside Task get()---")
     all_rows = UserTable.get_all_users()
     serialized_users = [row.serialize() for row in all_rows]
     # GET ALL USERS
     return {'all_users': serialized_users}