Example #1
0
def register_extensions(app):
    bcrypt.init_app(app)
    db.init_app(app)
    csrf_protect.init_app(app)
    login.init_app(app)
    debug_toolbar.init_app(app)
    mail.init_app(app)
    migrate.init_app(app, db)
    moment.init_app(app)
    if not app.debug and not app.testing:
        if app.config['MAIL_SERVER']:
            auth = None
            if app.config['MAIL_USERNAME'] or app.config['MAIL_PASSWORD']:
                auth = (app.config['MAIL_USERNAME'],
                        app.config['MAIL_PASSWORD'])
            secure = None
            if app.config['MAIL_USE_TLS']:
                secure = ()
            mail_handler = SMTPHandler(
                mailhost=(app.config['MAIL_SERVER'], app.config['MAIL_PORT']),
                fromaddr='no-reply@' + app.config['MAIL_SERVER'],
                toaddrs=app.config['ADMINS'], subject='Microblog Failure',
                credentials=auth, secure=secure)
            mail_handler.setLevel(logging.ERROR)
            app.logger.addHandler(mail_handler)
    return None
Example #2
0
def register_extensions(app):
    bootstrap.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    page_down.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
Example #3
0
def extensions(app):

    db.init_app(app)
    debug_toolbar.init_app(app)
    db_migrate.init_app(app,db)
    login.init_app(app)
    crsf.init_app(app)
    mail.init_app(app)
    api.init_app(app)
Example #4
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)
    return None
Example #5
0
def register_extensions(app):
    """register Flask extensions."""
    bcrypt.init_app(app)
    csrf_protect.init_app(app)
    login_manager.init_app(app)
    db.init_app(app)
    migrate.init_app(app, db)
    cache.init_app(app)
    debug_toolbar.init_app(app)
    flask_static_digest.init_app(app)
Example #6
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
Example #7
0
def register_extensions(app):

    debug_toolbar.init_app(app)
    db.init_app(app)
    migrate.init_app(app, db)
    login_manager.init_app(app)
    bootstrap.init_app(app)
    moment.init_app(app)
    mail.init_app(app)
    api.init_app(app)
    jwt.init_app(app)
    limiter.init_app(app)
Example #8
0
def register_extensions(app):
    babel.init_app(app)
    bcrypt.init_app(app)
    bootstrap.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)
    mail.init_app(app)
    moment.init_app(app)
Example #9
0
def extensions(app):
    """
    Register 0 or more extensions (mutates the app passed in).

    :param app: Flask application instance
    :return: None
    """
    debug_toolbar.init_app(app)
    csrf.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    Breadcrumbs(app=app)
    return None
Example #10
0
def create_app(environment_name='dev'):
    app = Flask(__name__)
    app.config.from_object(configurations[environment_name])

    # init extensions
    db.init_app(app)
    csrf.init_app(app)
    login_manager.init_app(app)
    migrate.init_app(app, db, render_as_batch=True)
    mail.init_app(app)
    checkout.init_app(app)
    rq2.init_app(app)
    debug_toolbar.init_app(app)
    cache.init_app(app)

    # assets bundling
    assets_env.init_app(app)
    assets_loader = PythonAssetsLoader(assets)
    for name, bundle in assets_loader.load_bundles().items():
        assets_env.register(name, bundle)

    # register blueprints
    app.register_blueprint(products, url_prefix="/product")
    app.register_blueprint(user_bp)
    app.register_blueprint(store_bp)
    app.register_blueprint(checkout_bp)
    app.register_blueprint(landing_bp)
    app.register_blueprint(rq_blueprint, url_prefix="/rq")

    # errors monitoring
    if app.config.get("SENTRY_DSN"):
        sentry_sdk.init(
            dsn=app.config["SENTRY_DSN"],
            integrations=[FlaskIntegration(), SqlalchemyIntegration()]
        )

    # errors handling
    @app.errorhandler(401)
    def unauthorized_error(error):
        return render_template('errors/401.html'), 401

    @app.errorhandler(404)
    def not_found_error(error):
        return render_template('errors/404.html'), 404

    @app.errorhandler(500)
    def internal_error(error):
        return render_template('errors/500.html'), 500

    return app
Example #11
0
def extensions(app):
    """
    Register 0 or more extensions (mutates the app passed in).

    :param app: Flask application instance
    :return: None
    """
    debug_toolbar.init_app(app)
    mail.init_app(app)
    csrf.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    cache.init_app(app, config={'CACHE_TYPE': 'redis'})

    return None
Example #12
0
def extensions(app):
    """
    Register 0 or more extensions (mutates the app passed in).

    :param app: Flask application instance
    :return: None
    """
    debug_toolbar.init_app(app)
    mail.init_app(app)
    csrf.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    cache.init_app(app, config={'CACHE_TYPE': 'redis'})
    cors(app, support_credentials=True, resources={r"/*": {"origins": "*"}})

    return None
Example #13
0
def register_debugtools(flask_app):
    """
    Applies some extra configuration changes for debug mode.
    """

    if flask_app.config['DEBUG'] is False:
        return

    debug_toolbar.init_app(flask_app)

    @flask_app.after_request
    def after_request(response):
        """Modifies the response header to prevent caching."""
        response.headers['Cache-Control'] = 'no-cache, no-store, must-revalidate'
        response.headers['Expires'] = 0
        response.headers['Pragma'] = "no-cache"
        return response
Example #14
0
def create_app():
    """
    An flask application factory, as explained here:
    http://flask.pocoo.org/docs/patterns/appfactories/

    Arguments:
        object_name: the python path of the config object,
                     e.g. app.settings.ProdConfig
    """
    env = os.getenv('FLASK_ENV')
    if env == 'development':
        env = 'Dev'
    elif env == 'production':
        env = 'Prod'
    else:
        env = 'Test'

    app = Flask(__name__)

    app.config.from_object("app.settings.%sConfig" % env)

    # commands
    configure_commands(app)

    # cache
    cache.init_app(app)

    # debug tool bar
    debug_toolbar.init_app(app)

    # SQLAlchemy
    db.init_app(app)
    migrate.init_app(app, db)
    engine = create_engine(app.config.get('SQLALCHEMY_DATABASE_URI'))
    if not database_exists(engine.url):
        create_database(engine.url)

    # login
    login_manager.init_app(app)

    configure_global_interceptor(app)
    # register blueprints
    app.register_blueprint(main)

    return app
Example #15
0
def create_app(object_name, env="prod"):
    """
    An flask application factory, as explained here:
    http://flask.pocoo.org/docs/patterns/appfactories/

    Arguments:
        object_name: the python path of the config object,
                     e.g. app.settings.ProdConfig

        env: The name of the current environment, e.g. prod or dev
    """

    app = Flask(__name__)

    app.config.from_object(object_name)
    app.config["ENV"] = env

    # initialize the cache
    cache.init_app(app)

    # initialize the debug tool bar
    debug_toolbar.init_app(app)

    # initialize SQLAlchemy
    db.init_app(app)

    # Use Foundation for templating
    Foundation(app)

    login_manager.init_app(app)

    # Import and register the different asset bundles
    assets_env.init_app(app)
    assets_loader = PythonAssetsLoader(assets)
    for name, bundle in assets_loader.load_bundles().items():
        assets_env.register(name, bundle)

    # register our blueprints
    app.register_blueprint(main)
    app.register_blueprint(notebook)

    return app
Example #16
0
def create_app():
    """
    An flask application factory, as explained here:
    http://flask.pocoo.org/docs/patterns/appfactories/
    """

    app = Flask(__name__)

    #app.config.from_object(object_name)
    env = DotEnv()
    env.init_app(app=app,
                 env_file=fs.getApplicationDirectory() + os.path.sep + '.env')

    for k, v in app.config.items():
        if isinstance(v, str):
            v = v.lower().strip()
            if v == 'true':
                app.config[k] = True
            elif v == 'false':
                app.config[k] = False

    # initialize the cache
    cache.init_app(app)

    # initialize the debug tool bar
    debug_toolbar.init_app(app)

    login_manager.init_app(app)

    # Import and register the different asset bundles
    assets_env.init_app(app)
    assets_loader = PythonAssetsLoader(assets)
    for name, bundle in assets_loader.load_bundles().items():
        assets_env.register(name, bundle)

    modules.init_app(app)

    return app
Example #17
0
def create_app(environment="dev"):
    app = Flask(__name__)

    # Configuration
    app.config.from_object(configurations[environment])

    # Initialize extensions
    db.init_app(app)
    migrate.init_app(app, db)
    bcrypt.init_app(app)
    login_manager.init_app(app)
    csrf.init_app(app)
    debug_toolbar.init_app(app)
    mail.init_app(app)

    # Register blueprint
    app.register_blueprint(users_bp)
    app.register_blueprint(auth_bp)

    # register macros autoloader
    macros_folder = os.path.join(APP_FOLDER, "templates/macros")
    autoload_macros(app.jinja_env, macros_folder)

    return app
Example #18
0
def register_extensions(app):
    """Register Flask extensions."""

    cache.init_app(app)

    debug_toolbar.init_app(app)

    db.init_app(app)

    mail.init_app(app)

    gravatar.init_app(app)

    assets.init_app(app)

    admin = Admin(app, index_view=AdminBaseIndexView(), url='/data')
    admin.add_view(
        AdminUserModelView(AdminUser,
                           db.session,
                           menu_icon_type='fa',
                           menu_icon_value='fa-circle-o',
                           endpoint='admin_user'))
    admin.add_view(
        AdminBIUserModelView(BIUser,
                             db.session,
                             name='BI User',
                             menu_icon_type='fa',
                             menu_icon_value='fa-circle-o',
                             endpoint='bi_user'))
    admin.add_view(
        AdminBIUserCurrencyModelView(BIUserCurrency,
                                     db.session,
                                     name='BI User Currency',
                                     menu_icon_type='fa',
                                     menu_icon_value='fa-circle-o',
                                     endpoint='bi_user_currency'))
    admin.add_view(
        AdminBIUserBillModelView(BIUserBill,
                                 db.session,
                                 name='BI User Bill',
                                 menu_icon_type='fa',
                                 menu_icon_value='fa-circle-o',
                                 endpoint='bi_user_bill'))
    admin.add_view(
        AdminBIClubWPTUserModelView(BIClubWPTUser,
                                    db.session,
                                    name='BI ClubWPT User',
                                    menu_icon_type='fa',
                                    menu_icon_value='fa-circle-o',
                                    endpoint='bi_clubwpt_user'))
    admin.add_view(
        AdminWPTUserLoginLogModelView(WPTUserLoginLog,
                                      db.session,
                                      name='User Login Log',
                                      menu_icon_type='fa',
                                      menu_icon_value='fa-circle-o',
                                      endpoint='user_login_log'))

    login.init_app(app)
    login.login_view = "account.sign_in"
    login.login_message_category = "warning"

    @login.user_loader
    def load_user(user_id):
        return AdminUser.query.get(user_id)
Example #19
0
def create_app(object_name, env='prod'):
    """
    An flask application factory, as explained here:
    http://flask.pocoo.org/docs/patterns/appfactories/

    Arguments:
        object_name: the python path of the config object, e.g. app.settings.ProdConfig

        env: The name of the current environment, e.g. prod or dev
    """
    app = Flask(__name__, static_url_path='')

    app.config.from_object(object_name)
    app.config['ENV'] = env

    # templates and statics
    app.template_folder = app.config['TEMPLATE_FOLDER']
    app.static_folder = app.config['STATIC_FOLDER']

    # initialize the cache
    cache.init_app(app)

    # initialize the debug tool bar
    debug_toolbar.init_app(app)

    # CSRF protection
    csrf.init_app(app)

    # Oauthlib
    oauth.init_app(app)

    # initialize SQLAlchemy
    db.init_app(app)

    # Authentication
    login_manager.init_app(app)

    # Mailgun
    mailgun.init_app(app)

    # Register blueprints
    app.register_blueprint(main)
    app.register_blueprint(auth)
    app.register_blueprint(profile)
    app.register_blueprint(authorize)

    # Api

    # Extneral

    # Import custom template filters
    app.register_blueprint(tpl_filter)

    # Enable error logging
    # if app.config['ENV'] == 'prod':
    #     file_handler = RotatingFileHandler('app.log', maxBytes=1024 * 1024 * 100, backupCount=20)
    #     formatter = logging.Formatter( "%(asctime)s | %(pathname)s:%(lineno)d | %(funcName)s | %(levelname)s | %(message)s ")
    #     file_handler.setFormatter(formatter)
    #     app.logger.addHandler(file_handler)

    # Language
    babel.init_app(app)

    # @babel.localeselector
    # def get_locale():
    #     return g.locale

    # # Set lang
    # @app.before_request
    # def before_request():
    #     lang_cookie = request.cookies.get('locale')
    #     locale = lang_cookie if lang_cookie else 'en'

    #     if not lang_cookie:
    #         for lang in request.accept_languages.values():
    #             if lang[:2] in ['de', 'en']:
    #                 locale = lang[:2]
    #                 break

    #     g.locale = locale

    return app