def register_extensions(app: flask.Flask) -> None: app.secret_key = APP_SESSION_SECRET db.init_app(app) migrate.init_app(app, db) cache.init_app(app, config={'CACHE_TYPE': CACHE_TYPE, 'CACHE_THRESHOLD': CACHE_THRESHOLD}) limiter.init_app(app) session.init_app(app) oauth.init_app(app) trace_flask(app, operation_name=get_operation_name, skip_span=request_skip_span) trace_sqlalchemy(skip_span=sqlalchemy_skip_span)
def register_extensions(app: flask.Flask) -> None: app.secret_key = APP_SESSION_SECRET db.init_app(app) migrate.init_app(app, db) cache.init_app(app, config={ 'CACHE_TYPE': CACHE_TYPE, 'CACHE_THRESHOLD': CACHE_THRESHOLD }) limiter.init_app(app) session.init_app(app) oauth.init_app(app)
def register_extensions(app): bootstrap.init_app(app) db.init_app(app) login_manager.init_app(app) login_manager.login_view = 'web.login' login_manager.login_message_category = 'warning' avatars.init_app(app) pagedown.init_app(app) #cache.init_app(app) mail.init_app(app) moment.init_app(app) csrf.init_app(app) socketio.init_app(app) oauth.init_app(app)
def create_app(): app = Flask(__name__) api = Api(app) jwt.init_app(app) app.config.from_object(Config) db.init_app(app) ma.init_app(app) api.add_resource(UserRegister, '/register') api.add_resource(User, '/user/<int:user_id>') api.add_resource(UserLogin, '/login') # api.add_resource(GithubLogin, '/login/github') api.add_resource(SetPassword, '/user/password') api.add_resource(OauthResource, '/login/<provider_name>') api.add_resource(GithubAuthorize, '/login/github/authorized', endpoint='github.authorize') oauth.init_app(app) return app
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
def register_extensions(app): db.init_app(app) oauth.init_app(app)