Example #1
0
def register_extensions(app):

    api.app = app

    # Overriding swaggerUI base path to serve content under a prefix
    apidoc.apidoc.static_url_path = '{}/swaggerui'.format(Config.BASE_PATH)

    api.init_app(app)
    if app.config['ELASTIC_ENABLED'] == '1':
        apm.init_app(app)
        logging.getLogger('elasticapm').setLevel(30)
    else:
        app.logger.info(
            'ELASTIC_ENABLED: FALSE, set ELASTIC_ENABLED=1 to enable')

    try:
        jwt.init_app(app)
    except Exception as error:
        app.logger.error("Failed to initialize JWT library: " + str(error))

    cache.init_app(app)
    db.init_app(app)
    CORS(app)

    # Set up Marshmallow
    with app.app_context():
        setup_marshmallow()
Example #2
0
def create_app(config):
    application = Flask(__name__)
    application.config.from_object(config)

    application.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
    application.jinja_env.add_extension('jinja2.ext.do')

    db.init_app(app=application)
    security.init_app(app=application, datastore=user_datastore)
    api.init_app(app=application)

    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
    migrate = Migrate(application, db)

    _load_application_blueprints(application)

    _load_api_blueprints(application)

    load_flask_dance_authorization(application)

    register_assets(application)

    _register_global_variables(application)

    return application
Example #3
0
def register_extensions(app):

    api.app = app
    # Overriding swaggerUI base path to serve content under a prefix
    apidoc.apidoc.static_url_path = '{}/swaggerui'.format(Config.BASE_PATH)
    api.init_app(app)

    cache.init_app(app)
    db.init_app(app)
    jwt.init_app(app)
    apm.init_app(app) if app.config['ELASTIC_ENABLED'] == '1' else None
    sched.init_app(app)

    CORS(app)
    Compress(app)

    if app.config.get('ENVIRONMENT_NAME') in ['test', 'prod']:
        if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == 'true':
            sched.start()
            _schedule_NRIS_jobs(app)
            # This is here to prevent this from running in production until we are confident in the permit data.
            if app.config.get('ENVIRONMENT_NAME') == 'test':
                _schedule_ETL_jobs(app)

    return None
Example #4
0
def create_app(config=None):
    app = Flask(__name__)

    if config:
        app.config.from_object(config)
    else:
        app.config.from_object(os.environ['APP_SETTINGS'])

    handler = RotatingFileHandler(app.config['LOGGING_LOCATION'],
                                  maxBytes=10000,
                                  backupCount=1)

    from app.home.views import home
    app.register_blueprint(home)

    from app.song.api import songsearch
    app.register_blueprint(songsearch)

    from app.song.api import SongAPI, SongsAPI
    api.add_resource(SongAPI, '/api/song')
    api.add_resource(SongsAPI, '/api/songs')

    from app.playlist.api import PlaylistAPI, PlaylistsAPI, PlaylistSongAPI
    api.add_resource(PlaylistAPI, '/api/playlist')
    api.add_resource(PlaylistsAPI, '/api/playlists')
    api.add_resource(PlaylistSongAPI, '/api/playlist/<int:playlist_id>/song',
                     '/api/playlist/<int:playlist_id>/songs')

    api.init_app(app)
    db.init_app(app)

    return app
Example #5
0
def register_extensions(app):

    api.app = app
    # Overriding swaggerUI base path to serve content under a prefix
    apidoc.apidoc.static_url_path = '{}/swaggerui'.format(Config.BASE_PATH)
    api.init_app(app)

    if app.config['ELASTIC_ENABLED'] == '1':
        apm.init_app(app)
    else:
        app.logger.debug(
            'ELASTIC_ENABLED: FALSE, set ELASTIC_ENABLED=1 to enable')

    try:
        jwt.init_app(app)
    except Exception as error:
        app.logger.error("Failed to initialize JWT library: " + str(error))

    cache.init_app(app)
    db.init_app(app)

    CORS(app)
    Compress(app)

    return None
Example #6
0
def register_extensions(app):
    db.init_app(app)
    ma.init_app(app)
    bcrypt.init_app(app)
    jwt.init_app(app)
    initialize_routes(api)
    api.init_app(app)
    return None
Example #7
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 #8
0
def register_extensions(app):
    travis.init_app(app)
    db.init_app(app)
    api.init_app(app)
    lm.init_app(app)
    mail.init_app(app)
    bcrypt.init_app(app)
    celery.config_from_object(app.config)
    assets.init_app(app)
    babel.init_app(app)
Example #9
0
def register_extensions(app):
    heroku.init_app(app)
    travis.init_app(app)
    db.init_app(app)
    api.init_app(app)
    lm.init_app(app)
    mail.init_app(app)
    bcrypt.init_app(app)
    celery.config_from_object(app.config)
    assets.init_app(app)
Example #10
0
def register_extensions(app):
    api.app = app
    api.init_app(app)

    db.init_app(app)
    jwt.init_app(app)

    CORS(app)
    Compress(app)

    return None
Example #11
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 #12
0
def create_api(environment_name=None):
    for namespace in NAMESPACES:
        api.add_namespace(namespace)
    app = Flask(__name__)
    #app.config.from_object(config[environment_name])
    app.config.from_object(Config)
    CORS(app)
    with app.app_context():

        db.init_app(app)
        db.create_all()
        migrate.init_app(app, db)
        api.init_app(app)
    return app
Example #13
0
def register_extensions(app):

    api.app = app
    # Overriding swaggerUI base path to serve content under a prefix
    apidoc.static_url_path = f'{Config.BASE_PATH}/swaggerui'
    api.init_app(app)

    cache.init_app(app)
    db.init_app(app)
    jwt.init_app(app)
    migrate.init_app(app, db)

    CORS(app)

    return None
Example #14
0
def create_app(object_name):
    app = Flask(__name__)

    app.config.from_object("app.configs.%s.Config" % object_name)

    logs_dir = os.path.join(app.root_path, "logs")
    if not os.path.exists(logs_dir):
        os.makedirs(logs_dir)

    db.init_app(app)
    migrate.init_app(app, db)
    api.init_app(app)
    redis.init_app(app)

    return app
Example #15
0
def create_app(config_class=Config):
    """Use this function to create an instance of the Flask application.

    This function is used as a factory function for creating an instance of the Flask
    application.

    :param config_class: the configuration class for the Flask application.
    :return: the factory Flask application instance.
    """
    app = Flask(__name__)
    app.config.from_object(config_class)

    api.init_app(app)

    return app
Example #16
0
def register_extensions(app):

    api.app = app
    # Overriding swaggerUI base path to serve content under a prefix
    apidoc.apidoc.static_url_path = '{}/swaggerui'.format(Config.BASE_PATH)
    api.init_app(app)

    cache.init_app(app)
    db.init_app(app)
    jwt.init_app(app)
    apm.init_app(app) if app.config['ELASTIC_ENABLED'] == '1' else None
    sched.init_app(app)

    CORS(app)
    Compress(app)

    return None
Example #17
0
def register_extensions(app):

    api.app = app
    # Overriding swaggerUI base path to serve content under a prefix
    apidoc.apidoc.static_url_path = '{}/swaggerui'.format(Config.BASE_PATH)
    api.init_app(app)

    try:
        jwt.init_app(app)
    except Exception as error:
        app.logger.error("Failed to initialize JWT library: " + str(error))

    cache.init_app(app)
    db.init_app(app)

    CORS(app)

    return None
Example #18
0
def register_extensions(app):

    api.app = app
    api.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    jwt.init_app(app)
    apm.init_app(app) if app.config['ELASTIC_ENABLED'] == '1' else None

    CORS(app)
    Compress(app)

    if app.config.get('ENVIRONMENT_NAME') == 'prod':
        sched.init_app(app)
        if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == 'true':
            sched.start()
            _schedule_NRIS_jobs(app)

    return None
Example #19
0
def register_extensions(app):

    api.app = app
    # Overriding swaggerUI base path to serve content under a prefix
    apidoc.static_url_path = f'{Config.BASE_PATH}/swaggerui'
    api.init_app(app)

    if app.config['ELASTIC_ENABLED'] == '1':
        apm.init_app(app)

    try:
        jwt.init_app(app)
    except Exception as error:
        app.logger.error("Failed to initialize JWT library: " + str(error))

    cache.init_app(app)
    db.init_app(app)
    migrate.init_app(app, db)

    CORS(app)

    return None
Example #20
0
def create_app(config=None):

    app = Flask(__name__)

    if config:
        app.config.from_object(config)
    else:
        app.config.from_object(os.environ['APP_SETTINGS'])

    # Init logger
    handler = RotatingFileHandler(app.config['LOGGING_LOCATION'],
                                  maxBytes=10000,
                                  backupCount=1)
    handler.setLevel(app.config['LOGGING_LEVEL'])
    app.logger.addHandler(handler)

    # Init routes
    from app.home.views import home
    app.register_blueprint(home)

    from app.home.api import TestApi
    api.add_resource(TestApi, '/api/protected')

    from app.user.api import UserApi
    api.add_resource(UserApi, '/api/user/register')

    # Init extensions
    db.init_app(app)
    api.init_app(app)
    bcrypt.init_app(app)

    from app.user.auth import authenticate, identity, payload_handler
    jwt.authentication_handler(authenticate)
    jwt.identity_handler(identity)
    jwt.jwt_payload_handler(payload_handler)
    jwt.init_app(app)

    return app
Example #21
0
def create_app(config=None):
    
    app = Flask(__name__)

    if config:
        app.config.from_object(config)
    else:
        app.config.from_object(os.environ['APP_SETTINGS'])

    # Init logger
    handler = RotatingFileHandler(app.config['LOGGING_LOCATION'], maxBytes=10000, backupCount=1)
    handler.setLevel(app.config['LOGGING_LEVEL'])
    app.logger.addHandler(handler)

    # Init routes
    from app.home.views import home
    app.register_blueprint(home)

    from app.home.api import TestApi
    api.add_resource(TestApi, '/api/protected')

    from app.user.api import UserApi
    api.add_resource(UserApi, '/api/user/register')

    # Init extensions
    db.init_app(app)
    api.init_app(app)
    bcrypt.init_app(app)

    from app.user.auth import authenticate, identity, payload_handler
    jwt.authentication_handler(authenticate)
    jwt.identity_handler(identity)
    jwt.jwt_payload_handler(payload_handler)
    jwt.init_app(app)

    return app
Example #22
0
def register_web(app):
    register_error_handlers(app)
    register_middleware(app)
    register_handlers(app)

    register_controllers()
    register_resource()
    api.init_app(app)

    from .models.passport import User
    @login_manager.user_loader
    def user_loader(user_id):
        return User.get_by_id(user_id)

    @identity_loaded.connect_via(app)
    def on_identity_loaded(sender, identity):
        identity.user = current_user

        if hasattr(current_user, 'id'):
            identity.provides.add(UserNeed(current_user.id))

        if hasattr(current_user, 'roles'):
            for role in current_user.roles:
                identity.provides.add(RoleNeed(role.name))
Example #23
0
def register_extensions(app):
    db.init_app(app)
    ma.init_app(app)
    api.init_app(app)
    migrate.init_app(app, db)
    bcrypt.init_app(app)
Example #24
0
def register_extensions(app):
    db.init_app(app)
    api.init_app(app)
    ma.init_app(app)
    sk.init_app(app)
Example #25
0
#!/usr/bin/env python
# encoding: utf-8
import arrow
from flask import Blueprint, request, jsonify, g
from flask_restful import reqparse, Resource, inputs
from app.extensions import api, db
from app.core import log
# from app.model.models import BasePickupInfo, BasePickupDetail
from app.model.models import DYNAMIC_ORMS
from common import GeoUtil

api_bp = Blueprint('api', __name__, url_prefix='/api')
api.init_app(api_bp)


class recomms(Resource):
    parser = reqparse.RequestParser(bundle_errors=True)
    parser.add_argument('city',
                        type=str,
                        help=u'city shortcut is needed',
                        required=True)
    parser.add_argument('lat',
                        type=float,
                        help=u'start latitude',
                        required=False)
    parser.add_argument('lng',
                        type=float,
                        help=u'start lngtitude',
                        required=False)
    parser.add_argument('geohash',
                        type=str,