def create_app():
    # Flask app initialization
    app = Flask(__name__)

    app.config.from_object(ProductionConfig())

    # Database initialization in Flask app
    db.init_app(app)

    # JWT management initialization in Flask app
    jwt.init_app(app)

    # Flask CORS configuration to allow access
    CORS(app,
         resources={
             r"/*": {
                 "origins": "*",
                 "expose_headers": ['X-Total-Count']
             }
         })

    # When the database is "connected in Flask app, the primary keys will activate"
    with app.app_context():
        from sqlalchemy import event
        # event.listen(db.engine, 'connect', activate_primary_keys)
        pass
    # TODO: Connect db

    # Final app initialization
    api.init_app(app)

    return app
Beispiel #2
0
def register_extensions(app):
    db.init_app(app)
    migrate.init_app(app,db)
    socketio.init_app(app, async_mode="eventlet")
    login_manager.init_app(app)
    csrf.init_app(app)
    moment.init_app(app)
    redis.init_app(app, decode_responses=True)
Beispiel #3
0
def register_extensions(app):
    """Register Flask extensions."""
    bcrypt.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    csrf_protect.init_app(app)
    login_manager.init_app(app)
    # debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    flask_static_digest.init_app(app)
    return None
Beispiel #4
0
def register_extensions(app):
    """Register Flask extensions."""
    assets.init_app(app)
    bcrypt.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    csrf_protect.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    return None
Beispiel #5
0
def register_extensions():
    """Register the application with needed extensions."""
    logging.basicConfig(
        filename=app.config['LOGGING_FILE'],
        format='%(asctime)s %(levelname)-5s %(message)s',
        datefmt='%Y-%m-%d %H:%M:%S',
        level=app.config['LOGGING_LEVEL'],
    )
    hashing.init_app(app)
    db.init_app(app)
    with app.app_context():
        db.create_all()
Beispiel #6
0
def register_extensions(app):
    """Register Flask extensions."""
    bcrypt.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    csrf_protect.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    redis_store.init_app(app)
    # rbac.init_app(app)
    principal.init_app(app)
    return None
Beispiel #7
0
def register_extensions(app):
    """Register Flask extensions."""
    bcrypt.init_app(app)
    cache.init_app(app)
    db.app = app
    db.init_app(app)
    csrf_protect.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    # redis_store.init_app(app)
    # db.app = app
    register_api_blueprints(app)
    apiManager.init_app(app)
    rbac.init_app(app)
    # principal.init_app(app)
    bootstrap.init_app(app)
    return None
Beispiel #8
0
def register_extensions(app):
    """Register Flask extensions."""
    bcrypt.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    csrf_protect.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    bootstrap.init_app(app)
    
    #添加rest_ful_api
    try:
        from main import api as v_api
    except Exception as e:
        return {'success':False,'message':'api接口操作失败。'},401
    
    api.init_app(app)
    
    return None
Beispiel #9
0
def register_extensions(app):
    """Every extensions start with flask_* will be initialized here."""

    db.init_app(app)
    bcrypt.init_app(app)
    migrate.init_app(app, db)
def create_app():
    # Flask app initialization
    app = Flask(__name__)

    app.config.from_object(Config())

    # Creating database
    if not os.path.exists(DB_PATH + DB_NAME):
        os.mknod(DB_PATH + DB_NAME)

    # Database configuration
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = bool(os.getenv('SQLALCHEMY_TRACK_MODIFICATIONS'))
    app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL

    # Database initialization in Flask app
    db.init_app(app)

    scheduler.init_app(app)
    scheduler.start()

    @app.before_first_request
    def load_tasks():
        pass

    # Defining secret key for encryption and time of expiration of each access token that will be generated
    app.config['JWT_SECRET_KEY'] = str(os.getenv('JWT_SECRET_KEY'))
    app.config['JWT_ACCESS_TOKEN_EXPIRES'] = int(os.getenv('JWT_ACCESS_TOKEN_EXPIRES'))

    # JWT management initialization in Flask app
    jwt.init_app(app)

    # Defining general configuration for SMTP server
    app.config['MAIL_SERVER'] = os.getenv('MAIL_SERVER')
    app.config['MAIL_PORT'] = os.getenv('MAIL_PORT')
    app.config['MAIL_USE_TLS'] = os.getenv('MAIL_USE_TLS')
    app.config['MAIL_USERNAME'] = os.getenv('MAIL_USERNAME')
    app.config['MAIL_PASSWORD'] = os.getenv('MAIL_PASSWORD')
    app.config['FLASKY_MAIL_SENDER'] = os.getenv('FLASKY_MAIL_SENDER')

    # Flask mail handler initialization in Flask app
    out_server_sender.init_app(app)

    # Flask CORS configuration to allow access 
    CORS(app, resources={r"/*": {"origins": "*", "expose_headers":  ['X-Total-Count']}})

    # When the database is "connected in Flask app, the primary keys will activate"
    with app.app_context():
        from sqlalchemy import event
        event.listen(db.engine, 'connect', activate_primary_keys)

    # Defining urls for each resource
    api.add_resource(controller.SensorController, '/sensors/<id_num>')
    api.add_resource(controller.SensorsController, '/sensors')
    api.add_resource(controller.USeismController, '/seisms/unverified/<id_num>')
    api.add_resource(controller.USeismsController, '/seisms/unverified/')
    api.add_resource(controller.VSeismController, '/seisms/verified/<id_num>')
    api.add_resource(controller.GSeismsController, '/seisms/coordinates')
    api.add_resource(controller.VSeismsController, '/seisms/verified/')
    api.add_resource(controller.UserController, '/users/<id_num>')
    api.add_resource(controller.UsersController, '/users')
    api.add_resource(controller.UsersFilter, '/users/filter')
    api.add_resource(controller.SensorsFilter, '/sensors/filter')

    # Defining blueprints for each blueprint
    app.register_blueprint(auth_controller)
    app.register_blueprint(mail_controller)

    # Final app initialization
    api.init_app(app)

    return app