Example #1
0
def register_extensions(app):
    db.init_app(app)
    mail.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    api.init_app(app)
    return None
Example #2
0
def create_app():
    """
    Creates global flask app object and initializes settings.

    """

    _app = Flask('antbs')

    # Bugsnag Mixin
    handle_exceptions(_app)

    # Apply Configuration
    antbs_config = AntBSConfig(status, logger)
    _app = antbs_config.apply_all(_app)

    # Debug Toolbar
    # _app.debug = True
    debug_toolbar.init_app(_app)

    # RQ Dashboard
    _app.register_blueprint(rq_dashboard.blueprint, url_prefix='/rq')

    # Register Views
    for view_class in all_views:
        view = view_class()
        view.register(_app)

    # Hookup Middlewares
    with _app.app_context():
        import_module('middleware')

    return _app
Example #3
0
def register_extensions(app):
    assets.init_app(app)
    bcrypt.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    return None
Example #4
0
def create_app():
    app_init = Flask(__name__)
    app_init.config.from_object('config')
    db.init_app(app_init)
    db.app = app_init
    bootstrap.init_app(app_init)
    migrate.init_app(app_init, db)
    if app_init.config['DEBUG'] is True:
        app_init.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = False
        debug_toolbar.init_app(app_init)
    return app_init
Example #5
0
def register_extensions(app):
    cache.init_app(app)
    db.init_app(app)
    admin.init_app(app)
    register_admin_views(admin)
    user_datastore = SQLAlchemyUserDatastore(db, User, Role)
    security = Security(app, user_datastore, confirm_register_form=ExtendedRegisterForm)
    mail.init_app(app)
    debug_toolbar.init_app(app)

    return None
Example #6
0
def register_extensions(app):
    cache.init_app(app)
    db.init_app(app)
    admin.init_app(app)
    register_admin_views(admin)
    user_datastore = MongoEngineUserDatastore(db, User, Role)
    security = Security(app, user_datastore, confirm_register_form=ExtendedRegisterForm)
    mail.init_app(app)
    debug_toolbar.init_app(app)

    return None
Example #7
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
Example #8
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)

    return None
Example #9
0
    def register_extensions(self):
        cache.init_app(self)
        db.init_app(self)
        user_datastore = SQLAlchemyUserDatastore(db, User, Role)
        security = Security(self, user_datastore, register_form=ExtendedRegisterForm)
        mail.init_app(self)
        debug_toolbar.init_app(self)
        migrate.init_app(self, db)
        admin.init_app(self)

        @security.context_processor
        def security_context_processor():
            return dict(
                admin_base_template=admin.base_template,
                admin_view=admin.index_view,
                # h=admin_helpers,
                get_url=url_for
            )
Example #10
0
File: app.py Project: nikitph/Ashrm
def register_extensions(app):
    cache.init_app(app)
    db.init_app(app)
    admin.init_app(app)
    register_admin_views(admin)
    user_datastore = MongoEngineUserDatastore(db, User, Role)
    security = Security(app, user_datastore, register_form=ExtendedRegisterForm)
    mail.init_app(app)
    # socketio.init_app(app)
    app.config['DEBUG_TB_PANELS'] = ['flask.ext.mongoengine.panels.MongoDebugPanel',
                                     'flask_debugtoolbar.panels.versions.VersionDebugPanel',
                                     'flask_debugtoolbar.panels.timer.TimerDebugPanel',
                                     'flask_debugtoolbar.panels.headers.HeaderDebugPanel',
                                     'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel',
                                     'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel',
                                     'flask_debugtoolbar.panels.template.TemplateDebugPanel',
                                     'flask_debugtoolbar.panels.logger.LoggingPanel',
                                     'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel']
    debug_toolbar.init_app(app)

    return None
Example #11
0
def create_app(config_name):
    """
    An flask application factory, as explained here:
    http://flask.pocoo.org/docs/patterns/appfactories/
    Arguments:
        config_name: the key value if the config.config dict,
                     e.g. 'dev', 'test', 'product', 'default'
    """

    app = Flask(__name__)
    app.config.from_object(config[config_name])
    # 首先调用配置对象的init_app
    config[config_name].init_app(app)

    # init SQLAlchemy
    db.init_app(app)
    # init Bcrypt
    bcrypt.init_app(app)
    # init LoginManager
    login_manager.init_app(app)
    # init Principal
    principal.init_app(app)

    @identity_loaded.connect_via(app)
    def on_identity_loaded(sender, identity):
        # Set the identity user object
        identity.user = current_user
        # Add the UserNeed to the identity
        if hasattr(current_user, 'id'):
            identity.provides.add(UserNeed(current_user.id))
        # Add each role to the identity
        if hasattr(current_user, 'roles'):
            for role in current_user.roles:
                identity.provides.add(RoleNeed(role.name))

    # init DebugToolbarExtension
    debug_toolbar.init_app(app)

    # init Cache
    cache.init_app(app)

    # init Flask-Assets
    assets_env.init_app(app)
    assets_env.register("main_css", main_css)
    assets_env.register("main_js", main_js)

    # init Flask-Admin
    admin.init_app(app)
    admin.add_view(CustomView(name='Custom'))

    models = [User, Role, Comment, Tag]
    for model in models:
        admin.add_view(CustomModelView(model, db.session, category='Models'))
    # 单独处理Post model,因为我们自定了CustomModelView的自类PostView
    admin.add_view(PostView(Post, db.session, category='Models'))

    admin.add_view(CustomFileAdmin(
        os.path.join(os.path.dirname(__file__), 'static'),
        '/static/',
        name='Static Files'
    ))

    # init Flask-Bootstrap
    bootstrap.init_app(app)

    # init Flask-Mail
    mail.init_app(app)

    # init Flask-Moment
    moment.init_app(app)

    ############################################################################

    # init RestApi
    rest_api.add_resource(PostApi, '/api/post', '/api/post/<int:post_id>',
                          endpoint='api')
    rest_api.add_resource(AuthApi, '/api/auth')
    rest_api.init_app(app)

    # register blueprint
    app.register_blueprint(blog_blueprint)
    app.register_blueprint(main_blueprint)
    app.register_blueprint(auth_blueprint)
    # register api blueprint
    app.register_blueprint(api_blueprint)

    return app
Example #12
0
def register_extensions(app):
    """Register all extensions."""
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    mail.init_app(app)
Example #13
0
def extensions(app):
    debug_toolbar.init_app(app)
    mail.init_app(app)

    return None
Example #14
0
def register_extensions(app):
    """Register Flask extensions."""
    db.init_app(app)
    cors_app.init_app(app)
    marsh_app.init_app(app)
    debug_toolbar.init_app(app)
Example #15
0
from apns import APNs, Payload
from flask import Flask, request, jsonify, render_template, abort, url_for
from flask.ext.socketio import SocketIO
from flask.ext.uploads import configure_uploads
from havenondemand.hodclient import HODClient, HODApps
from yelp.client import Client
from yelp.oauth1_authenticator import Oauth1Authenticator

import settings
from extensions import db, debug_toolbar, photos
from utils import get_lng_lat, get_weather_at_coords, get_weather_at_place

app = Flask(__name__)
app.config.from_object(settings)
db.init_app(app)
debug_toolbar.init_app(app)
configure_uploads(app, photos)

apn_client = APNs(cert_file=app.config.get('APN_CERT_PATH'), key_file=app.config.get('APN_KEY_PATH'), enhanced=True)
apn_client.gateway_server.register_response_listener(lambda err: print("APN response error: {}".format(err)))

maps_client = googlemaps.Client(key=app.config.get('GOOGLE_MAPS_API_KEY'))

yelp_client = Client(Oauth1Authenticator(
    consumer_key=app.config.get('YELP_CONSUMER_KEY'),
    consumer_secret=app.config.get('YELP_CONSUMER_SECRET'),
    token=app.config.get('YELP_TOKEN'),
    token_secret=app.config.get('YELP_TOKEN_SECRET')
))

hod_client = HODClient(app.config.get('HOD_API_KEY'), version="v1")
Example #16
0
def create_app():
    """
    Creates global flask app object and initializes settings.

    """

    _app = Flask('antbs')

    # Bugsnag Mixin
    handle_exceptions(_app)

    # Apply Configuration
    antbs_config = AntBSConfig(status, logger)
    _app = antbs_config.apply_all(_app)

    # Debug Toolbar
    # _app.debug = True
    debug_toolbar.init_app(_app)

    # RQ Dashboard
    _app.register_blueprint(rq_dashboard.blueprint, url_prefix='/rq')

    # Register Views
    for view_class in all_views:
        view = view_class()
        view.register(_app)

    # Hookup Middlewares
    with _app.app_context():
        @current_app.errorhandler(400)
        @current_app.errorhandler(403)
        @current_app.errorhandler(404)
        @current_app.errorhandler(500)
        def error_handler(err):
            """ Setup default error templates. """
            code = getattr(err, 'code', 500)  # If 500, err == the exception.
            error_tpl = 'error/error.html'

            if code in [403, 404, 500]:
                error_tpl = 'error/{}.html'.format(str(code))

            return render_template(error_tpl, code=code), code

        @current_app.context_processor
        def inject_global_template_variables():
            return dict(
                idle=status.idle,
                current_status=status.current_status,
                now_building=status.now_building,
                rev_pending=status.pending_review,
                user=get_current_user(),
                current_user=get_current_user(),
                _all_packages=status.all_packages,
                pkg_groups=status.package_groups,
            )

        @current_app.before_request
        def rq_dashboard_requires_auth():
            if '/rq' in request.path and not get_current_user().is_authenticated:
                abort(403)

        @current_app.template_filter()
        def tpl_name(s):
            """ Extracts and returns the template name from a url path string. """
            res = re.findall('\'([^\']*)\'', str(s))

            return None if not res else res[0]

        @current_app.template_filter()
        def build_failed(bnum):
            build = get_build_object(bnum=int(bnum))
            return build.failed

    return _app
Example #17
0
def register_extensions(app):
    db.init_app(app)
    debug_toolbar.init_app(app)
    return None
Example #18
0
def register_extensions(app):
    """Register all extensions."""
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    mail.init_app(app)
Example #19
0
def create_app():
    """
    Creates global flask app object and initializes settings.

    """

    _app = Flask('antbs')

    # Bugsnag Mixin
    handle_exceptions(_app)

    # Apply Configuration
    antbs_config = AntBSConfig(status, logger)
    _app = antbs_config.apply_all(_app)

    # Debug Toolbar
    # _app.debug = True
    debug_toolbar.init_app(_app)

    # RQ Dashboard
    _app.register_blueprint(rq_dashboard.blueprint, url_prefix='/rq')

    # Register Views
    for view_class in all_views:
        view = view_class()
        view.register(_app)

    # Hookup Middlewares
    with _app.app_context():

        @current_app.errorhandler(400)
        @current_app.errorhandler(403)
        @current_app.errorhandler(404)
        @current_app.errorhandler(500)
        def error_handler(err):
            """ Setup default error templates. """
            code = getattr(err, 'code', 500)  # If 500, err == the exception.
            error_tpl = 'error/error.html'

            if code in [403, 404, 500]:
                error_tpl = 'error/{}.html'.format(str(code))

            return render_template(error_tpl, code=code), code

        @current_app.context_processor
        def inject_global_template_variables():
            return dict(
                idle=status.idle,
                current_status=status.current_status,
                now_building=status.now_building,
                rev_pending=status.pending_review,
                user=get_current_user(),
                current_user=get_current_user(),
                _all_packages=status.all_packages,
                pkg_groups=status.package_groups,
            )

        @current_app.before_request
        def rq_dashboard_requires_auth():
            if '/rq' in request.path and not get_current_user(
            ).is_authenticated:
                abort(403)

        @current_app.template_filter()
        def tpl_name(s):
            """ Extracts and returns the template name from a url path string. """
            res = re.findall('\'([^\']*)\'', str(s))

            return None if not res else res[0]

        @current_app.template_filter()
        def build_failed(bnum):
            build = get_build_object(bnum=int(bnum))
            return build.failed

    return _app