Esempio n. 1
0
 def setUp(self):
     app = Flask(__name__)
     self.app = app
     app.secret_key = 'DUMMY'
     app.testing = True
     self.client = app.test_client()
     self.db = MongoClient(host=MONGODB_URI).unit_test
     user_ajna.DBUser.dbsession = self.db
     user_ajna.DBUser.add('ajna', 'ajna')
     conn = MongoClient(host=MONGODB_URI)
     api_login.configure(app)
Esempio n. 2
0
def create_app(config_class=Production):
    """Cria app básica e vincula todos os blueprints e módulos/extensões."""
    app = Flask(__name__)
    app.logger.info('Criando app')
    Bootstrap(app)
    nav = Nav(app)
    csrf = CSRFProtect(app)
    # app.config['SERVER_NAME'] = 'ajna.api'
    app.secret_key = config_class.SECRET
    app.config['SECRET_KEY'] = config_class.SECRET
    app.config['mongodb'] = config_class.db
    app.config['sql'] = config_class.sql
    app.register_blueprint(ajna_api)
    csrf.exempt(ajna_api)
    app.register_blueprint(mercanteapi)
    csrf.exempt(mercanteapi)
    app.logger.info('Configurando swagger-ui...')
    swaggerui_blueprint = get_swaggerui_blueprint(SWAGGER_URL, API_URL)
    app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL)

    @app.route('/docs/openapi.yaml')
    def return_yaml():
        return send_file('openapi.yaml')

    app.logger.info('Configurando api login...')
    api = api_login.configure(app)
    csrf.exempt(api)

    app.logger.info('Configurando login...')
    login.configure(app)
    DBUser.dbsession = config_class.db

    app.logger.info('Configurando / e redirects')

    @nav.navigation()
    def mynavbar():
        """Menu da aplicação."""
        items = [View('Home', 'index')]
        if current_user.is_authenticated:
            items.append(View('Sair', 'commons.logout'))
        return Navbar('teste', *items)

    @app.route('/')
    def index():
        if current_user.is_authenticated:
            return render_template('index.html')
        else:
            return redirect(url_for('commons.login'))

    return app
Esempio n. 3
0
def create_app(config_class=Production):
    """Cria app básica e vincula todos os blueprints e módulos/extensões."""
    app = Flask(__name__)
    app.logger.info('Criando app')
    Bootstrap(app)
    nav = Nav(app)
    csrf = CSRFProtect(app)
    # app.config['SERVER_NAME'] = 'ajna.api'
    app.secret_key = config_class.SECRET
    app.config['SECRET_KEY'] = config_class.SECRET
    app.config['mongodb'] = config_class.db
    app.config['mongodb_risco'] = config_class.db_risco
    app.config['sql'] = config_class.sql
    db_session = scoped_session(
        sessionmaker(autocommit=False, autoflush=False, bind=config_class.sql))
    app.config['db_session'] = db_session
    app.register_blueprint(ajna_api)
    csrf.exempt(ajna_api)
    app.register_blueprint(bhadrasanaapi)
    csrf.exempt(bhadrasanaapi)
    app.register_blueprint(virasanaapi)
    csrf.exempt(virasanaapi)
    app.register_blueprint(mercanteapi)
    csrf.exempt(mercanteapi)
    app.register_blueprint(recintosapi)
    csrf.exempt(recintosapi)
    app.register_blueprint(cadastrosapi)
    csrf.exempt(cadastrosapi)
    app.logger.info('Configurando swagger-ui...')
    swaggerui_blueprint = get_swaggerui_blueprint(SWAGGER_URL, API_URL)
    app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL)

    @app.route('/docs/openapi.yaml')
    def return_yaml():  # pragma: no cover
        return send_file('openapi.yaml')

    app.logger.info('Configurando api login...')
    api = api_login.configure(app)
    csrf.exempt(api)

    app.logger.info('Configurando login...')
    login.configure(app)
    DBUser.dbsession = config_class.db

    app.logger.info('Configurando / e redirects')

    @nav.navigation()
    def mynavbar():
        """Menu da aplicação."""
        items = [View('Home', 'index')]
        if current_user.is_authenticated:
            items.append(View('Sair', 'commons.logout'))
        return Navbar('teste', *items)

    @app.route('/')
    def index():  # pragma: no cover
        if current_user.is_authenticated:
            return render_template('index.html')
        else:
            return redirect(url_for('commons.login'))

    @app.teardown_appcontext
    def shutdown_session(exception=None):
        db_session = app.config.get('db_session')
        if db_session:
            db_session.remove()

    return app
Esempio n. 4
0
from virasana.db import mongodb, mysql, mongodb_risco
from virasana.routes import bagagens_app, pyxvis_app
from virasana.routes import conformidade_app
from virasana.routes import imagens_app
from virasana.views import configure_app, csrf

# from bhadrasana.models import db_session

db_session = scoped_session(
    sessionmaker(autocommit=False, autoflush=False, bind=mysql))

app = configure_app(mongodb, mongodb_risco, db_session)
bagagens_app.configure(app)
conformidade_app.configure(app)
pyxvis_app.configure(app)
imagens_app.configure(app)
configure_applog(app)
api = api_login.configure(app)
csrf.exempt(api)
log.logger.info('Servidor (re)iniciado!')


@app.teardown_appcontext
def shutdown_session(exception=None):
    db_session.remove()
    log.logger.info('db_session remove')


if __name__ == '__main__':  # pragma: no cover
    app.run(debug=app.config['DEBUG'])