Пример #1
0
def logout():
    # 如果用户名存在,则从会话中移除该用户名
    session.pop('user_id', None)
    session.pop('username', None)
    # 清除缓存
    cache.clear()
    return redirect(url_for('app_front.login'))
Пример #2
0
def update():
    '''
    新增/编辑用户
    '''
    name = request.json.get('name')
    permissions = request.json.get('permissions', 0)
    id = request.json.get('id')
    if not name:
        raise JsonOutputException('请输入用户名');
    if not id:
        role = Role(
            name=name,
            permissions=permissions)
        msg = '新增成功'
    else:
        role = Role.query.get_or_404(id)
        role.name = name
        role.permissions = permissions
        msg = '编辑成功'
    db.session.add(role)
    try:
        db.session.commit()
        cache.clear()
    except IntegrityError:
        raise JsonOutputException('该用户名已被使用')
    res = {'item': role.to_dict(), 'msg': msg}
    return jsonify(res)
Пример #3
0
def test_endpoints(client):
    """Basic validation of endpoints integrity"""

    res = client.get("/api/products/")
    assert res.status_code == 200

    filename = "test_products.csv"
    create_product_data(filename)
    assert len(Product.query.all()) == 5

    # Clear cache to overcome 60s cache timeout
    cache.clear()
    res = client.get("/api/products/")
    assert len(res.json["products"]) == 5
    assert b"ABCDE00001" in res.data

    res = client.get("/api/products/1")
    assert res.status_code == 200

    # Check PUT endpoint for review exists and handles empty data
    res = client.put("/api/products/1")
    assert res.status_code == 400

    # Clean up temp data
    os.remove(filename)
Пример #4
0
    def test_same_post_database(self):
        """
        Check that an error will be thrown if the
        datetime primary key is already in the database
        """
        user = User(email='yoda@' + current_app.config['MAIL_DOMAIN'],
                    password='******',
                    confirmed=True)
        db.session.add(user)
        db.session.commit()

        response = self.client.post(
            url_for('api_0_1.new_post'),
            headers=self.get_api_headers(
                'yoda@' + current_app.config['MAIL_DOMAIN'], 'DoOrDoNot',
                True),
            data=json.dumps(self.EXAMPLE_JSON_MESSAGE))
        self.assertTrue(response.status_code == 201)

        try:
            cache.clear()
        except RedisError:
            print('Redis port is closed, the redis server '
                  'does not appear to be running.')

        response = self.client.post(
            url_for('api_0_1.new_post'),
            headers=self.get_api_headers(
                'yoda@' + current_app.config['MAIL_DOMAIN'], 'DoOrDoNot',
                True),
            data=json.dumps(self.EXAMPLE_JSON_MESSAGE))
        self.assertTrue(
            b'This datetime is already in the database.' in response.data)
        self.assertTrue(response.status_code == 406)
Пример #5
0
def review_add(asin=None):
    if request.method == 'PUT':

        product = Product.query.filter(Product.asin == asin).first()
        if not product:
            return jsonify(status='error', errors=[{'message': ['No such product asin found']}])

        try:
            title = request.json.get('title')
            review = request.json.get('review')
        except AttributeError:
            return jsonify(status='error', errors=[{'validation': ['Check out your JSON and headers']}])

        if not title or not review:
            return jsonify(status='error', errors=[{'validation': ['Fill title & review fields']}])

        new_review = Review()
        new_review.title = title
        new_review.review = review

        product.reviews.append(new_review)
        db.session.add(new_review)
        db.session.commit()

        # TODO :)
        cache.clear()

        return jsonify(status='success')

    return jsonify(status='error', errors=[{'message': 'Wrong request format'}])
Пример #6
0
def app():
    os.environ['STAGE'] = 'test'
    app = create_app()

    user0 = User("Son", "*****@*****.**",
                 bcrypt.generate_password_hash("1234567aA").decode('utf8'))
    user1 = User("Hoan", "*****@*****.**",
                 bcrypt.generate_password_hash("1234567bB").decode('utf8'))
    user2 = User("Lam", "*****@*****.**",
                 bcrypt.generate_password_hash("1234567cC").decode('utf8'))
    user3 = User("Hung", "*****@*****.**",
                 bcrypt.generate_password_hash("1234567dD").decode('utf8'))
    user4 = User("Nam", "*****@*****.**",
                 bcrypt.generate_password_hash("1234567eE").decode('utf8'))
    user5 = User("Viet", "*****@*****.**",
                 bcrypt.generate_password_hash("1234567fF").decode('utf8'))
    user2.activated = True
    user_list = [user0, user1, user2, user3, user4, user5]

    for i in range(6):
        db.session.add(user_list[i])
        db.session.commit()

    yield app

    cache.clear()
    db.session.remove()
    db.drop_all()
Пример #7
0
 def setUp(self):
     cache.clear()
     db.init_app(app)
     db.create_all()
     self.user = User.create(email="m",
                             name="m",
                             password=encrypt_password("m"),
                             active=True)
Пример #8
0
def accomplishment():
    # handle case of employee not found in database
    if g.employee is None:
        flash('Not registered as a Product team member yet. Check back later!')
        return redirect(url_for('index'))
    cache.clear()
    personstats = factory_accomplishment(u=g.employee.id)
    return render_template('accomplishment.html', personstats=personstats)
Пример #9
0
def enstw_cache_clear():
    password = request.values.get('password')
    if password == 'bigdata123':
        cache.clear()
        datas = {'msg': 'Succeed to clear all'}
    else:
        datas = {'msg': 'Error, Password was wrong!'}
    return jsonify(datas)
Пример #10
0
def reset():
    """Delete all cached urls

    Return:
        str: Caches reset
    """
    cache.clear()
    return jsonify(objects='Caches reset')
Пример #11
0
def stw_cache_clear():
    password = request.values.get('password')
    if password == 'bigdata123':
        cache.clear()
        data = {'msg': 'Successful! Clear All'}
    else:
        data = {'msg': 'Error, Password was wrong!'}
    return jsonify(data)
Пример #12
0
def reset():
    """Delete all cached urls

    Return:
        str: Caches reset
    """
    cache.clear()
    return jsonify(objects='Caches reset')
Пример #13
0
    def setUp(self):
        super().setUp()
        app.testing = True
        cache.clear()
        self.client = app.test_client()

        # clear datastore
        requests.post('http://%s/reset' % ndb_client.host)
        self.ndb_context = ndb_client.context()
        self.ndb_context.__enter__()
Пример #14
0
 def tearDown(self):
     """Clost test environment"""
     try:
         cache.clear()
     except RedisError:
         print('Redis port is closed, the redis server '
               'does not appear to be running.')
     db.session.remove()
     db.drop_all()
     self.app_context.pop()
Пример #15
0
    def delete(self, path=None):
        if path:
            url = f"{PREFIX}/{path}"
            cache.delete(url)
            message = f"Deleted cache for {url}"
        else:
            cache.clear()
            message = "Caches cleared!"

        response = {"message": message}
        return jsonify(**response)
Пример #16
0
def login():
    if current_user.is_authenticated():
        return abort(404)
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user is not None and user.verify_password(form.password.data):
            login_user(user, form.remember_me.data)
            cache.clear()
            return redirect(request.args.get('next') or url_for('main.index'))
        flash(_('Mật khẩu và email không khớp'))
    return render_template('auth/login.html', form=form)
Пример #17
0
def client():
    """Basic pytest fixture for Flask test client"""
    app.config["TESTING"] = True
    with app.test_client() as client:
        cache.clear()
        app_ctx = app.app_context()
        app_ctx.push()
        db.drop_all()
        db.create_all()
        yield client
        db.session.remove()
        db.drop_all()
        app_ctx.pop()
Пример #18
0
    def delete(self, path=None):
        if path:
            url = f"{PREFIX}/{path}"
            cache.delete(url)
            message = f"Deleted cache for {url}"
        else:
            cache.clear()
            message = "Caches cleared!"

        response = {
            "links": get_links(app.url_map.iter_rules()),
            "message": message
        }
        return jsonify(**response)
Пример #19
0
def save():
    entity = None
    data = json.loads(request.data)['entity']
    if data['id']:
        entity = Entity.query.get(data['id'])
    elif data['name']:
        entity = Entity(data['name'])
        db.add(entity)
        db.commit()
    if entity:
        update(entity, data)
        cache.clear()
    else:
        print 'NO UPDATE'
    return get_entities()
Пример #20
0
def delete():
    app.secret_key = flask_session_secret_key
    method = request.form.get('_method')
    id = request.args.get('id')
    if method == 'DELETE':
        db.query(Collaboration) \
            .filter(or_(Collaboration.entity_id1 == id, Collaboration.entity_id2 == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Dataconnection) \
            .filter(or_(Dataconnection.giver_id == id, Dataconnection.receiver_id == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Employment) \
            .filter(or_(Employment.entity_id1 == id, Employment.entity_id2 == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Revenue).filter(Revenue.entity_id == id).delete(
            synchronize_session='evaluate')

        db.query(Expense).filter(Expense.entity_id == id).delete(
            synchronize_session='evaluate')

        db.query(Relation) \
            .filter(or_(Relation.entity_id1 == id, Relation.entity_id2 == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Fundingconnection) \
            .filter(or_(Fundingconnection.giver_id == id, Fundingconnection.receiver_id == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Edit).filter(Edit.entity_id == id).delete(
            synchronize_session='evaluate')

        db.execute("DELETE FROM location_table WHERE entity_id=" + id + ";")
        db.execute("DELETE FROM category_table WHERE entity_id=" + id + ";")
        db.execute("DELETE FROM keypeople_table WHERE entity_id=" + id + ";")

        db.query(Entity).filter(Entity.id == id).delete(
            synchronize_session='evaluate')

        db.commit()
        cache.clear()
        flash("Delete was successful")
    return redirect('/admin')
Пример #21
0
def cached(base=None):
    """Reset all caches or remove a cached url by base

    Args:
        base (str): The base of the cached url to remove, e.g., 'lorem'

    Return:
        str: Response message
    """
    if base:
        url = request.url.replace('delete/', '')
        msg = 'Cached URL "{}" deleted!'.format(url)
        cache.delete(url)
    else:
        msg = 'Caches reset!'
        cache.clear()

    return jsonify(status=204, objects=msg)
Пример #22
0
def save():
    app.logger.debug('SAVING')
    app.logger.debug(request.data)
    entity = None
    data = json.loads(request.data)['entity']
    if data['id']:
        entity = Entity.query.get(data['id'])
    elif data['name']:
        app.logger.debug('ADDING NEW ENTITY ' + str(data['name']))
        entity = Entity(str(data['name']))
        db.add(entity)
        db.commit()
    if entity:
        app.logger.debug('UPDATING ENTITY ' + entity.name)
        update(entity, data)
        cache.clear()
    else:
        app.logger.debug('NO UPDATE')
    return get_entities()
Пример #23
0
def save():
    app.logger.debug('SAVING')
    app.logger.debug(request.data)
    entity = None
    data = json.loads(request.data)['entity']
    if data['id']:
        entity = Entity.query.get(data['id'])
    elif data['name']:
        app.logger.debug('ADDING NEW ENTITY ' + str(data['name']))
        entity = Entity(str(data['name']))
        db.add(entity)
        db.commit()
    if entity:
        app.logger.debug('UPDATING ENTITY ' + entity.name)
        update(entity, data)
        cache.clear()
    else:
        app.logger.debug('NO UPDATE')
    return get_entities()
Пример #24
0
def delete():
    app.secret_key = flask_session_secret_key
    method = request.form.get('_method')
    id = request.args.get('id')
    if method == 'DELETE':
        db.query(Collaboration) \
            .filter(or_(Collaboration.entity_id1 == id, Collaboration.entity_id2 == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Dataconnection) \
            .filter(or_(Dataconnection.giver_id == id, Dataconnection.receiver_id == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Employment) \
            .filter(or_(Employment.entity_id1 == id, Employment.entity_id2 == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Revenue).filter(Revenue.entity_id == id).delete(synchronize_session='evaluate')

        db.query(Expense).filter(Expense.entity_id == id).delete(synchronize_session='evaluate')

        db.query(Relation) \
            .filter(or_(Relation.entity_id1 == id, Relation.entity_id2 == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Fundingconnection) \
            .filter(or_(Fundingconnection.giver_id == id, Fundingconnection.receiver_id == id)) \
            .delete(synchronize_session='evaluate')

        db.query(Edit).filter(Edit.entity_id == id).delete(synchronize_session='evaluate')

        db.execute("DELETE FROM location_table WHERE entity_id=" + id + ";")
        db.execute("DELETE FROM category_table WHERE entity_id=" + id + ";")
        db.execute("DELETE FROM keypeople_table WHERE entity_id=" + id + ";")

        db.query(Entity).filter(Entity.id == id).delete(synchronize_session='evaluate')

        db.commit()
        cache.clear()
        flash("Delete was successful")
    return redirect('/admin')
Пример #25
0
def save():
    app.logger.debug('SAVING')
    app.logger.debug(request.data)
    entity = None
    data = json.loads(request.data)['entity']
    data["ip"] = request.remote_addr
    data["edit_type"] = None
    if data['id']:
        entity = Entity.query.get(data['id'])
    elif data['name']:
        app.logger.debug('ADDING NEW ENTITY ' + data['name'])
        data["edit_type"] = "create"
        entity = Entity(data['name'])
        db.add(entity)
        db.commit()
    if entity:
        if not data["edit_type"]:
            data["edit_type"] = "update"
        app.logger.debug('UPDATING ENTITY ' + entity.name)
        update(entity, data)
        cache.clear()
    else:
        app.logger.debug('NO UPDATE')
    return get_entities()
Пример #26
0
def save():
    jsonData = json.loads(request.data)
    app.logger.debug(jsonData)
    if 'Event-Name' in request.headers:
        save_event_data(request)
        if 'optOut' in jsonData and jsonData['optOut']:
            return get_entities(request)
    entity = None
    data = jsonData['entity']
    data["ip"] = request.remote_addr
    data["edit_type"] = None
    if data['id']:
        entity = Entity.query.get(data['id'])
    elif data['name']:
        data["edit_type"] = "create"
        entity = Entity(data['name'])
        db.add(entity)
        db.commit()
    if entity:
        if not data["edit_type"]:
            data["edit_type"] = "update"
        update(entity, data)
        cache.clear()
    return get_entities()
Пример #27
0
def save():
    # app.logger.debug(request.data)
    jsonData = json.loads(request.data)
    if 'Event-Name' in request.headers:
        save_event_data(request)
        if 'optOut' in jsonData and jsonData['optOut']:
            return get_entities()
    entity = None
    data = jsonData['entity']
    data["ip"] = request.remote_addr
    data["edit_type"] = None
    if data['id']:
        entity = Entity.query.get(data['id'])
    elif data['name']:
        data["edit_type"] = "create"
        entity = Entity(data['name'])
        db.add(entity)
        db.commit()
    if entity:
        if not data["edit_type"]:
            data["edit_type"] = "update"
        update(entity, data)
        cache.clear()
    return get_entities()
Пример #28
0
 def tearDown(self):
     cache.clear()
     patch.stopall()
Пример #29
0
 def clear_cache(self):
     from app import cache
     cache.clear()
     return redirect_back(u'缓存已经成功更新。')
Пример #30
0
import sys
import os
sys.path.insert(1, os.path.join(sys.path[0], '..'))
from app import app as application
from app import cache


if __name__ == '__main__':

    if len(sys.argv) > 1:
        if sys.argv[1] == '--clearcache':
            cache.clear()
            print "Cleared the cache"
            exit()

    application.run(debug=application.config['DEBUG'],
                    port=application.config['PORT'],
                    host=application.config['HOST'])
Пример #31
0
def logout():
    logout_user()
    cache.clear()
    flash(_('Bạn đã đăng xuất thành công'))
    return redirect(url_for('main.index'))
Пример #32
0
def claerCache():
    cache.clear()
    return 'is over'
Пример #33
0
import apps
from modules.environment import DEBUG_MODE, SERVER_HOST, SERVER_PORT
from modules.logging import logging

logging.info('main.py - DEBUG_MODE: %s', DEBUG_MODE)
logging.info('main.py - SERVER_HOST: %s', SERVER_HOST)
logging.info('main.py - SERVER_PORT: %s\n', SERVER_PORT)

app.layout = Div([Location(id='url', refresh=False), Div(id='page-content')])


@app.callback(Output('page-content', 'children'), [Input('url', 'pathname')])
def display_page(pathname):
    if pathname == '{}/'.format(url_base_pathname):
        return apps.layout_index
    if pathname == '{}/download'.format(url_base_pathname):
        return apps.layout_download
    elif pathname == '{}/scene'.format(url_base_pathname):
        return apps.layout_scene
    else:
        return apps.layout_error_404


if __name__ == '__main__':
    # clear cache at the beginning
    with server.app_context():
        logging.info('main.py - clearing cache...')
        cache.clear()

    app.run_server(debug=DEBUG_MODE, host=SERVER_HOST, port=SERVER_PORT)
Пример #34
0
def clearCache():
    cache.clear()
    return "cache is clear"
Пример #35
0
def save_event_data(request):
    eventName = request.headers['Event-Name']
    data = json.loads(request.data)['entity']
    app.logger.debug(data)
    setEventData(eventName, data)
    cache.clear()
Пример #36
0
def clearCache():
    cache.clear()
    return 'cache is cleared'
Пример #37
0
def reset():
    """ Deletes the entire cache
    """
    cache.clear()
    return jsonify(result='Caches reset')
Пример #38
0
def delete_cache(n):
    if n == 0:
        return
    cache.clear()
Пример #39
0
 def tearDown(self):
     cache.clear()
     db.drop_all()
     patch.stopall()
Пример #40
0
 def setUp(self):
     cache.clear()
     db.init_app(app)
     db.create_all()
     self.user = User.create(email="m", name="m", password=encrypt_password("m"), active=True)
Пример #41
0
        if '-Pos-' in hash_guide:
            return results_page.clusterPage(job_id, hash_guide.split('#')[1]), URL + '/load' + search
        return results_page.resultPage(job_id), URL + '/load' + search
    # if path == '/genome-dictionary-management':
        # return personalization_page.genomeAndDictionaryManagement(), URL + '/load' + search
    if path == '/user-guide':
        return help_page.helpPage(), URL + '/load' + search
    if path == '/contacts':
        return contacts_page.contactPage(), URL + '/load' + search
    if path == '/history':
        return history_page.historyPage(), URL + '/load' + search
    # if path == '/genomes':
    #     genomes_page = html.Div(genome_database.get_genomes(
    #         current_working_directory), style={'margin': '1%'})
        # return genomes_page, URL + '/load' + search
    if path == '/index':
        return main_page.indexPage(), '/index'
    return main_page.indexPage(), '/index'


if __name__ == '__main__':
    directoryCheck()
    # if '--debug' in sys.argv[1:]:
    app.run_server(host='0.0.0.0', port=8080, debug=False,
                   dev_tools_ui=False, dev_tools_props_check=False)
    cache.clear()  # delete cache when server is closed
    # else:
    #     app.run_server(host='0.0.0.0', port=80, debug=False,
    #                    dev_tools_ui=False, dev_tools_props_check=False)
    #     cache.clear()  # delete cache when server is closed
Пример #42
0
def logout():
    logout_user()
    cache.clear()
    return redirect(url_for('main.index'))
Пример #43
0
def clear_cache_before_shutdown():
    cache.clear()
Пример #44
0
def save_event_data(request):
    eventName = request.headers['Event-Name']
    data = json.loads(request.data)['entity']
    # app.logger.debug(data)
    setEventData(eventName, data)
    cache.clear()
Пример #45
0
def reset():
    """ Deletes the entire cache
    """
    cache.clear()
    return jsonify(result='Caches reset')
Пример #46
0
 def tearDown(self):
     cache.clear()