Example #1
0
def config_extension(app):
    """
    init extension for app
    :return:
    """
    mongo.init_app(app)
    jwt.init_app(app)
Example #2
0
def configure_extensions(app):
    """
    Init app
    :param app: flask app
    :return: not return
    """
    kvsession.init_app(app)
    mongo.init_app(app)
def create_app():
    app = Flask(__name__, instance_relative_config=False)
    CORS(app)
    with app.app_context():
        app.config.from_object(Config)
        # app.config.from_pyfile('config.py')
        mongo.init_app(app)
        app.register_blueprint(api_blueprint, url_prefix='/api')
        return app
Example #4
0
def configure_extensions(app):
    # db
    db.init_app(app)
    db.BaseModel = BaseModel

    # redis
    redis_store.init_app(app)

    # mongo
    mongo.init_app(app)
Example #5
0
def configure_extensions(app):
    """plugin

    :app: TODO
    :returns: TODO

    """
    # Mongo
    mongo.init_app(app)
    # redis
    redis_store.init_app(app)
    # socketio
    socketio.init_app(app)
Example #6
0
def create_app():
    application = Flask(__name__)
    application.config.update(settings)

    mail.init_app(application)
    mongo.init_app(application)
    cache.init_app(application)
    jwt.init_app(application)
    limiter.init_app(application)

    for bp in http_blueprints:
        import_module(bp.import_name)
        application.register_blueprint(bp)

    application.cli.add_command(populate_users_command)
    application.cli.add_command(populate_transactions_command)

    return application
Example #7
0
def create_app(config_object='settings'):

    app = Flask(__name__)

    app.config.from_object(config_object)

    api = Api(app)
    jwt = JWTManager(app)

    api.add_resource(Hoteis, '/hoteis')
    api.add_resource(Hotel, '/hoteis/<string:id>')
    api.add_resource(User, '/usuarios/<string:id>')
    api.add_resource(UserRegister, '/signup')
    api.add_resource(UserLogin, '/login')
    api.add_resource(UserLogout, '/logout')

    mongo.init_app(app)

    return app
Example #8
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)
    app.json_encoder = JSONEncoder

    blueprint = Blueprint("api", __name__)

    #app.register_blueprint(blueprint)

    api.init_app(blueprint)
    app.register_blueprint(blueprint)
    mars.init_app(app)
    mongo.init_app(app)
    #bcrypt.init_app(app)

    api.add_namespace(namespace_chat)
    api.add_namespace(namespace_auth)
    api.add_namespace(namespace_user)
    api.add_namespace(namespace_requirements)

    return app
Example #9
0
def initialize_app():
    app = Flask(os.getenv('MONGO_DBNAME', 'MobileMechanic'))
    app.config.from_object('configuration.DevelopmentConfig')
    # config_prefix is used incase we want to add more databases
    mongo.init_app(app, config_prefix='MONGO')
    jwt = JWT(app, authenticate, identity)
    api_base_string = '/mobilemechanic/api/v1.0/'
    api.add_resource(UserAPI, api_base_string + 'users/<int:user_id>')
    api.add_resource(TokenAPI, api_base_string + 'users/<int:user_id>/token')
    api.add_resource(MechanicAPI,
                     api_base_string + 'users/<int:user_id>/mechanic')
    api.add_resource(JobAPI, api_base_string + 'users/<int:user_id>/jobs')
    api.add_resource(
        ImageUploadAPI,
        api_base_string + 'users/<int:user_id>/jobs/<job_id>/picture')
    api.add_resource(
        QuotesAPI,
        api_base_string + 'users/<int:user_id>/jobs/<job_id>/quotes')

    api.init_app(app)
    return app
Example #10
0
File: app.py Project: hoang89/fbone
def configure_extensions(app):
    # flask-babel
    babel = Babel(app)

    @babel.localeselector
    def get_locale():
        accept_languages = app.config.get('ACCEPT_LANGUAGES')
        return request.accept_languages.best_match(accept_languages)

    # flask-sqlalchemy
    db.init_app(app)

    # flask-mail
    mail.init_app(app)

    #mongo db
    mongo.init_app(app)

    # flask-cache
    cache.init_app(app)

    # flask-login
    login_manager.login_view = 'frontend.login'
    login_manager.refresh_view = 'frontend.reauth'

    @login_manager.user_loader
    def load_user(id):
        return User.query.get(id)
    login_manager.init_app(app)

    # flask-openid
    oid.init_app(app)

    # init debug toolbar
    toolbar = DebugToolbarExtension(app)

    init_extensions(app)
Example #11
0
import os
from flask import Flask
from extensions import mongo
from dotenv import load_dotenv
from main.routes import main

load_dotenv()
user_id = os.getenv('USER_ID')
user_password = os.getenv('USER_PASSWORD')

app = Flask(__name__)
# Need dnspython
app.config[
    'MONGO_URI'] = f'mongodb+srv://{user_id}:{user_password}@cluster0.hbauo.mongodb.net/testdb?retryWrites=true&w=majority'
# mongodb+srv://<username>:<password>@cluster0.hbauo.mongodb.net/<dbname>?retryWrites=true&w=majority
mongo.init_app(app)
todos = mongo.db.todos

app.register_blueprint(main)

if __name__ == '__main__':
    app.run(debug=True)
Example #12
0
def create_app():
    app = Flask(__name__)

    # 初始化配置
    app.config.from_object(config)
    config.init_app(app)
    config_logging(app)

    # db配置
    db.init_app(app)

    # mongo
    mongo.init_app(app)

    # 控制器配置
    from controllers import default_blueprints
    for blueprint in default_blueprints:
        app.register_blueprint(blueprint)

    # 开启 CsrfProtect 模块
    csrf.init_app(app)

    @login_manager.user_loader
    def load_user(user_id):
        from models import User
        user = db.session.query(User).get(int(user_id))
        user.nickname = user.to_dict()['nickname']
        return user

    login_manager.init_app(app)
    # cookie有效期
    app.permanent_session_lifetime = datetime.timedelta(minutes=24 * 60)
    login_manager.remember_cookie_duration = datetime.timedelta(days=1)

    # 访问静态资源
    def public_file(filename):
        return send_from_directory(app.config.get("UPLOAD_FOLDER"), filename)

    app.add_url_rule("/public/<filename>", "public_file", build_only=True)

    app.wsgi_app = SharedDataMiddleware(
        app.wsgi_app, {"/public": app.config.get("UPLOAD_FOLDER")},
        cache=False
        # tips: http://stackoverflow.com/questions/11515804/zombie-shareddatamiddleware-on-python-heroku
    )

    # favicon.ico
    @app.route('/favicon.ico')
    def favicon():
        return send_from_directory(app.static_folder,
                                   'favicon.ico',
                                   mimetype='image/vnd.microsoft.icon')

    # Robots
    @app.route('/robots.txt')
    def robots():
        return send_from_directory(app.static_folder, 'robots.txt')

    # sitemap.xml
    @app.route('/sitemap<name>')
    def sitemap(name):
        return send_from_directory(app.static_folder, 'sitemap%s' % name)

    # 过滤器处理
    configure_template_filters(app)

    # 错误处理
    configure_error_handlers(app)

    return app
Example #13
0
def register_extensions(app):
    mongo.init_app(app)
    jwt_manager.init_app(app)
    redis_client.init_app(app, decode_responses=True)
    scheduler.init_app(app)
Example #14
0
def create_app():
    app = Flask(__name__)

    # Create modules
    app.register_blueprint(rootModule)
    app.register_blueprint(moodlensModule)
    app.register_blueprint(opinionModule)
    app.register_blueprint(propagateModule)
    app.register_blueprint(indexModule)
    app.register_blueprint(evolutionModule)
    app.register_blueprint(identifyModule)
    app.register_blueprint(quota_systemModule)
    app.register_blueprint(dataoutModule)

    # the debug toolbar is only enabled in debug mode
    app.config['DEBUG'] = True

    app.config['ADMINS'] = frozenset(['*****@*****.**'])
    app.config['SECRET_KEY'] = 'SecretKeyForSessionSigning'

    app.config[
        'SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://%s:@%s/%s?charset=utf8' % (
            MYSQL_USER, MYSQL_HOST, MYSQL_DB)
    app.config['SQLALCHEMY_ECHO'] = False
    app.config['DATABASE_CONNECT_OPTIONS'] = {}

    app.config['THREADS_PER_PAGE'] = 8

    app.config['CSRF_ENABLED'] = True
    app.config['CSRF_SESSION_KEY'] = 'somethingimpossibletoguess'

    # Enable the toolbar?
    app.config['DEBUG_TB_ENABLED'] = app.debug
    # Should intercept redirects?
    app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = True
    # Enable the profiler on all requests, default to false
    app.config['DEBUG_TB_PROFILER_ENABLED'] = True
    # Enable the template editor, default to false
    app.config['DEBUG_TB_TEMPLATE_EDITOR_ENABLED'] = True
    # debug toolbar
    # toolbar = DebugToolbarExtension(app)

    app.config['MONGO_HOST'] = MONGODB_HOST
    app.config['MONGO_PORT'] = MONGODB_PORT

    app.config['MONGODB_SETTINGS'] = {
        'db': MASTER_TIMELINE_54API_WEIBO_DB,
        'host': MONGODB_HOST,
        'port': MONGODB_PORT
    }

    # Create mysql database
    db.init_app(app)
    with app.test_request_context():
        db.create_all()

    # Create mongo_engine
    mongo_engine.init_app(app)

    admin.init_app(app)
    """
    # Create mysql database admin, visit via url: http://HOST:PORT/admin/
    for m in model.__all__:
        m = getattr(model, m)
        n = m._name()
        admin.add_view(SQLModelView(m, db.session, name=n))

    for m in mongodb_model.__all__:
        admin.add_view(MongoDBView(m))
    """

    # init mongo
    mongo.init_app(app)

    return app
Example #15
0
def create_app():
    app = Flask(__name__)

    # Create modules
    app.register_blueprint(rootModule)
    app.register_blueprint(moodlensModule)
    app.register_blueprint(opinionModule)
    app.register_blueprint(propagateModule)
    app.register_blueprint(indexModule)
    app.register_blueprint(evolutionModule)
    app.register_blueprint(identifyModule)
    app.register_blueprint(quota_systemModule)
    app.register_blueprint(dataoutModule)

    # the debug toolbar is only enabled in debug mode
    app.config['DEBUG'] = True

    app.config['ADMINS'] = frozenset(['*****@*****.**'])
    app.config['SECRET_KEY'] = 'SecretKeyForSessionSigning'

    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://%s:@%s/%s?charset=utf8' % (MYSQL_USER, MYSQL_HOST, MYSQL_DB)
    app.config['SQLALCHEMY_ECHO'] = False
    app.config['DATABASE_CONNECT_OPTIONS'] = {}

    app.config['THREADS_PER_PAGE'] = 8

    app.config['CSRF_ENABLED'] = True
    app.config['CSRF_SESSION_KEY'] = 'somethingimpossibletoguess'

    # Enable the toolbar?
    app.config['DEBUG_TB_ENABLED'] = app.debug
    # Should intercept redirects?
    app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = True
    # Enable the profiler on all requests, default to false
    app.config['DEBUG_TB_PROFILER_ENABLED'] = True
    # Enable the template editor, default to false
    app.config['DEBUG_TB_TEMPLATE_EDITOR_ENABLED'] = True
    # debug toolbar
    # toolbar = DebugToolbarExtension(app)

    app.config['MONGO_HOST'] = MONGODB_HOST
    app.config['MONGO_PORT'] = MONGODB_PORT

    app.config['MONGODB_SETTINGS'] = {
        'db': MASTER_TIMELINE_54API_WEIBO_DB,
        'host': MONGODB_HOST,
        'port': MONGODB_PORT
    }

    # Create mysql database
    db.init_app(app)
    with app.test_request_context():
        db.create_all()

    # Create mongo_engine
    mongo_engine.init_app(app)

    admin.init_app(app)
    """
    # Create mysql database admin, visit via url: http://HOST:PORT/admin/
    for m in model.__all__:
        m = getattr(model, m)
        n = m._name()
        admin.add_view(SQLModelView(m, db.session, name=n))

    for m in mongodb_model.__all__:
        admin.add_view(MongoDBView(m))
    """

    # init mongo
    mongo.init_app(app)

    return app