def create_app(environment_name): app = Flask(__name__) app.config.from_object(config[environment_name]) register_err_handlers(app) db.init_app(app) bootstrap.init_app(app) user_datastore = SQLAlchemyUserDatastore(db, User, Role) security.init_app(app, datastore=user_datastore) from app.admin import admin as admin_bp from app.front import front as front_bp app.register_blueprint(admin_bp) app.register_blueprint(front_bp) return app
def create_app(config_file=None): app = Flask('app') AppConfig(app, config_file) SSLify(app) stream = logging.StreamHandler() stream.setFormatter(logging.Formatter( '%(name)s %(levelname)s %(asctime)s "%(message)s"' )) admin_logger = logging.getLogger('app.admin') admin_logger.setLevel(logging.INFO) admin_logger.addHandler(stream) db.app = app db.init_app(app) bootstrap.app = app bootstrap.init_app(app) nav.app = app nav.register_element('top', get_navbar) register_renderer(app, 'twoside', TwoSideRenderer) nav.init_app(app) login_manager.app = app login_manager.init_app(app) mail.app = app mail.init_app(app) cache.app = app cache.init_app(app) oauth.app = app oauth.init_app(app) bind_sqlalchemy(oauth, db.session, user=User, client=oauth2.Client, token=oauth2.Token, grant=oauth2.Grant, current_user=lambda: current_user) if not app.debug: sentry.app = app sentry.init_app(app) admin.app = app admin.init_app(app) admin.add_view(AdAdminView(Ad, db.session)) admin.add_view(LinkAdminView(Link, db.session)) admin.add_view(trial.TrialEmailAdminView(trial.TrialEmail, db.session)) #celery.app = app #celery.init_app(app) user_manager.init_app( app, db_adapter=SQLAlchemyAdapter(db, User, UserInvitationClass=UserInvitation), login_manager=login_manager ) gravatar.app = app gravatar.init_app(app) api_manager.app = app api_manager.init_app(app) app.register_blueprint(trial.bp, url_prefix='/trial') app.register_blueprint(oauth2.view.bp, url_prefix='/oauth') app.register_blueprint(social.bp, url_prefix='/social') app.register_blueprint(dashboard.bp, url_prefix='/dashboard') app.register_blueprint(share.bp, url_prefix='/share') app.register_blueprint(web.bp) for jinja_filter in FILTERS: app.jinja_env.filters[jinja_filter] = FILTERS[jinja_filter] for jinja_test in TESTS: app.jinja_env.tests[jinja_test] = TESTS[jinja_test] return app