def create_and_setup_app(package_name, package_path=None, settings_override=None, register_security_blueprint=True): """ Return a :class:`Flask` application instance configured with common functionality. :param str package_name: application package name :param str package_path: application package path :param dict settings_override: a dictionary of settings to override """ app = create_app(package_name, package_path) db.init_app(app) mail.init_app(app) security.init_app(app, SQLAlchemyUserDatastore(db, User, Role), register_blueprint=register_security_blueprint) if package_path: register_blueprints(app, package_name, package_path) # After request if not app.after_request_funcs.get(None): app.after_request_funcs[None] = [] app.after_request_funcs[None].append(call_after_request_callbacks) return app
def create_app(package_name, **settings): app = Flask(package_name, **settings) app.config.from_object('app:settings') celery.config_from_object('app.settings') db.init_app(app) print "woop" return app
def create_app(package_name, package_path): app = Flask(package_name, instance_relative_config=True) app.config.from_object('app.settings') db.init_app(app) db.app = app loginManager.init_app(app) helpers.register_blueprints(app, package_name, package_path) # celery.init_app(app) return app
def create_app(config='dev'): """ Flask application factory :param str config: type of app to build, either "prod" or "dev" """ # Create flask application app = Flask(__name__) app.config.from_object('settings') app.config['ENV'] = config app.jinja_env.trim_blocks = True # Debug toolbar (when debug=true) debug_toolbar = DebugToolbarExtension(app) app.config['DEBUG_TB_PROFILER_ENABLED'] = True app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = False # Register Blueprints app.register_blueprint(views_base.base) app.register_blueprint(views_blog.blog) # Flask-Assets; bundles all css/js files in minifed file assets = Environment(app) css_all = Bundle('css/bootstrap-flatly.min.css', 'css/highlightjs.min.css', 'css/font-awesome.css', 'css/main.css', filters='cssmin', output='gen/style.css') js_all = Bundle('js/vendor/jquery.min.js', 'js/vendor/bootstrap.min.js', 'js/vendor/showdown-gfm.min.js', 'js/vendor/highlight.min.js', 'js/main.js', filters='jsmin', output='gen/libs.js') assets.register('css_all', css_all) assets.register('js_all', js_all) if app.config['DEBUG']: assets.debug = True app.config['ASSETS_DEBUG'] = True # Set up Flask-User babel = Babel(app) db_adapter = SQLAlchemyAdapter(db, User) user_manager = UserManager(db_adapter, app) # Init Flask-User and bind to app # Init the cache cache.init_app(app) Moment(app) # moment.js Misaka(app, autolink=True, # Misaka Markdown fenced_code=True, lax_html=True, strikethrough=True, superscript=True, tables=True, wrap=True) # Init Admin page admin = Admin(app, index_view=AdminMain(endpoint='admin')) admin.add_view(PostAdminView()) admin.add_view(NewPostView()) admin.add_view(ModelView(Comment, db.session)) static_path = os.path.join(BASE_DIR, 'app', 'static') admin.add_view(FileAdminView(static_path, '/static/', name='Static Files')) # Initialize DB db.init_app(app) return app
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(): app = Flask(__name__) # Initialize configuration options app.config.from_object(Config) # Initialize global containers from app.core import db, bc, lm db.init_app(app) bc.init_app(app) lm.init_app(app) lm.login_view = 'bp.signin' print("Load blueprints") # Initialize app routes from app.core import bp app.register_blueprint(bp) return app
def create_app(): """Construct the core app object.""" app = Flask(__name__, instance_relative_config=False) # Application Configuration app.config.from_object('configuration.Config') # Initialize Plugins db.init_app(app) login_manager.init_app(app) login_manager.login_view = 'login' # Initial upload with photos, set default upload size to 16 megabytes configure_uploads(app, photos) patch_request_class(app) # set maximum file size, default is 16MB drop_zone.init_app(app) app.config['DROPZONE_UPLOAD_MULTIPLE'] = True app.config['DROPZONE_ALLOWED_FILE_CUSTOM'] = True app.config['DROPZONE_ALLOWED_FILE_TYPE'] = 'image/*' app.config['DROPZONE_PARALLEL_UPLOADS'] = 8 migrate.init_app(app, db) with app.app_context(): from . import routes @login_manager.user_loader def load_user(user_id): return User.query.filter(User.id == int(user_id)).first() # Register Blueprints app.register_blueprint(routes.main_bp) # app.register_blueprint(auth.auth_bp) return app
from __future__ import unicode_literals from flask import Flask from app.factory import make_celery from app.core import db, configure_app import os import sys import time import ntpath import requests app = Flask(__name__) # config app configure_app(app) # db db.init_app(app) # celery celery = make_celery(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