Example #1
0
def verify_register():
    registform = RegistrationForm(request.form, captcha={'ip_address': request.remote_addr})
    form_validator = registform.validate()

    if unicode(key_config.get('test_only', 'captcha_allow')) == registform.password.data:
        form_validator = True

    if request.method == 'POST' and form_validator and ':' not in registform.username.data:
        try:
            if database.get_user_by_username(registform.username.data) == None:
                if registform.password.data == registform.confirm_password.data:
                    ori_last_uid = database.get_latest_uid()
                    user_info = { 'uid':ori_last_uid+1,
                                  'username':registform.username.data,
                                  'password':hashlib.sha224(registform.password.data).hexdigest(),
                                  'regtime':time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))}
                    database.add_user(str(ori_last_uid+1), registform.username.data, user_info)
                    flash(flash_config.get('register', 'register_success'))
                    session['logged_in'] = registform.username.data
                    return redirect(url_for('home.home'))
                else:
                    flash(flash_config.get('register', 'password_not_match'))
                    return redirect(url_for('register.register'))
            else:
                flash(flash_config.get('register', 'user_exist'))
                return redirect(url_for('register.register'))
        except:
            current_app.logger.error('Something wrong in user database')
            abort(500)
    else:
        form.flash_errors(registform)
        return render_template('register.html', form=registform)
Example #2
0
File: login.py Project: note35/TC
def verify_login():
    loginform = LoginForm(request.form)
    if request.method == 'POST' and loginform.validate():
        if database.get_user_by_username(loginform.username.data):
            login_user = database.get_user_by_username(loginform.username.data)
            if login_user['password'] == hashlib.sha224(loginform.password.data).hexdigest():
                flash(flash_config.get('login', 'login_success'))
                session['logged_in'] = loginform.username.data
                return redirect(url_for('home.home'))
            else:
                flash(flash_config.get('login', 'wrong_password'))
        else:
            flash(flash_config.get('login', 'no_such_user'))
    elif request.method == 'POST' and not loginform.validate():
        form.flash_errors(loginform) 
    return render_template('login.html', form = loginform) 
Example #3
0
File: login.py Project: note35/TC
def verify_login():
    loginform = LoginForm(request.form)
    if request.method == 'POST' and loginform.validate():
        if database.get_user_by_username(loginform.username.data):
            login_user = database.get_user_by_username(loginform.username.data)
            if login_user['password'] == hashlib.sha224(
                    loginform.password.data).hexdigest():
                flash(flash_config.get('login', 'login_success'))
                session['logged_in'] = loginform.username.data
                return redirect(url_for('home.home'))
            else:
                flash(flash_config.get('login', 'wrong_password'))
        else:
            flash(flash_config.get('login', 'no_such_user'))
    elif request.method == 'POST' and not loginform.validate():
        form.flash_errors(loginform)
    return render_template('login.html', form=loginform)
Example #4
0
def pomsg():
    postform = PostForm(request.form)
    if request.method == 'POST' and postform.validate():
        ori_last_mid = database.get_latest_mid()
        message = {
            'mid': str(ori_last_mid + 1),
            'time': time.strftime('%Y-%m-%d %H:%M:%S',
                                  time.localtime(time.time())),
            'user': session['logged_in'],
            'message': html_escape(postform.message.data)
        }
        if request.files[postform.upload.name]:
            image = request.files[postform.upload.name]
            pos = image.tell()
            file_length = len(image.read())
            image.seek(pos)
            if file_length < (2 * 1024 * 1024):
                if image.content_type.startswith('image/'):
                    filename = session['logged_in'] + ':' + str(
                        ori_last_mid + 1) + ':' + secure_filename(
                            image.filename)
                    s3.s3_put(filename, image)
                    message['image'] = filename
                    image.close()
                else:
                    current_app.logger.warn(
                        str(session['logged_in']) +
                        ' upload file-content error')
                    flash(flash_config.get('home', 'upload_file_type_error'))
                    image.close()
                    return redirect(url_for('home.home'))
            else:
                current_app.logger.warn(
                    str(session['logged_in']) + ' upload file too big')
                flash(flash_config.get('home', 'upload_file_too_big'))
                image.close()
                return redirect(url_for('home.home'))
        try:
            database.add_msg(str(ori_last_mid + 1), session['logged_in'],
                             message)
        except:
            current_app.logger.error('add message fail')
    elif request.method == 'POST' and not postform.validate():
        form.flash_errors(postform)
    return redirect(url_for('home.home'))
Example #5
0
def verify_register():
    registform = RegistrationForm(request.form,
                                  captcha={'ip_address': request.remote_addr})
    form_validator = registform.validate()

    if unicode(key_config.get('test_only',
                              'captcha_allow')) == registform.password.data:
        form_validator = True

    if request.method == 'POST' and form_validator and ':' not in registform.username.data:
        try:
            if database.get_user_by_username(registform.username.data) == None:
                if registform.password.data == registform.confirm_password.data:
                    ori_last_uid = database.get_latest_uid()
                    user_info = {
                        'uid':
                        ori_last_uid + 1,
                        'username':
                        registform.username.data,
                        'password':
                        hashlib.sha224(registform.password.data).hexdigest(),
                        'regtime':
                        time.strftime('%Y-%m-%d %H:%M:%S',
                                      time.localtime(time.time()))
                    }
                    database.add_user(str(ori_last_uid + 1),
                                      registform.username.data, user_info)
                    flash(flash_config.get('register', 'register_success'))
                    session['logged_in'] = registform.username.data
                    return redirect(url_for('home.home'))
                else:
                    flash(flash_config.get('register', 'password_not_match'))
                    return redirect(url_for('register.register'))
            else:
                flash(flash_config.get('register', 'user_exist'))
                return redirect(url_for('register.register'))
        except:
            current_app.logger.error('Something wrong in user database')
            abort(500)
    else:
        form.flash_errors(registform)
        return render_template('register.html', form=registform)
Example #6
0
File: home.py Project: note35/TC
def pomsg():
    postform = PostForm(request.form)
    if request.method == 'POST' and postform.validate():
        ori_last_mid = database.get_latest_mid()
        message ={  'mid': str(ori_last_mid+1),
                    'time': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
                    'user': session['logged_in'], 
                    'message': html_escape(postform.message.data) }
        if request.files[postform.upload.name]:
            image = request.files[postform.upload.name]
            pos = image.tell()
            file_length = len(image.read())
            image.seek(pos)
            if file_length < (2 * 1024 * 1024):
                if image.content_type.startswith('image/'):
                    filename = session['logged_in'] + ':' + str(ori_last_mid+1) + ':' + secure_filename(image.filename)
                    s3.s3_put(filename, image)
                    message['image'] = filename
                    image.close()
                else:
                    current_app.logger.warn(str(session['logged_in'])+' upload file-content error')
                    flash(flash_config.get('home', 'upload_file_type_error'))
                    image.close()
                    return redirect(url_for('home.home'))
            else:
                current_app.logger.warn(str(session['logged_in'])+' upload file too big')
                flash(flash_config.get('home', 'upload_file_too_big'))
                image.close()
                return redirect(url_for('home.home'))
        try:
            database.add_msg(str(ori_last_mid+1), session['logged_in'], message)
        except:
            current_app.logger.error('add message fail')
    elif request.method == 'POST' and not postform.validate():
        form.flash_errors(postform)
    return redirect(url_for('home.home'))