Example #1
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    flask_whooshalchemyplus.init_app(app)
    configure_uploads(app, photos)
    patch_request_class(app)  # set maximum file size, default is 16MB
    # print(app.config['UPLOADED_FILES_DEST'])

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')

    from .goods import goods as goods_blueprint
    app.register_blueprint(goods_blueprint, url_prefix='/goods')

    from .ck import ck as ck_blueprint
    app.register_blueprint(ck_blueprint, url_prefix='/ck')
    app.jinja_env.add_extension("chartkick.ext.charts")

    return app
Example #2
0
def create_app(config_name):  # APP factory function
    app = Flask(__name__)
    app.config.from_object(
        config[config_name]
    )  # config是在config.py中最后定义的dict; from_object()方法将配置导入app/程序
    config[config_name].init_app(app)  # config[config_name]是'配置类'

    bootstrap.init_app(app)
    mail.init_app(app)  # 邮件的相关信息(邮箱/密码)由此传递到mail
    moment.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    pagedown.init_app(app)

    # [IMP] (1)初始化whooshalchemy;
    #       (2)通过whoosh_index函数初始化Post模型的全文搜索索引
    import flask_whooshalchemyplus as whooshalchemyplus
    from app.models import Post  # [IMP] Post模型需要db(db在本脚本上方创建,所以import Post时需谨慎关注其模组依赖)
    whooshalchemyplus.init_app(app)
    whooshalchemyplus.whoosh_index(
        app, Post
    )  # get the whoosh index for this model, creating one if it doesn't exist

    from .main import main as main_blueprint  # relative import: 从main文件夹中的__init__.py中导入'main' as 'main_blueprint'
    app.register_blueprint(
        main_blueprint
    )  # 蓝本在工厂函数create_app()中注册到程序/app上 (蓝本中包括: 路由 & 自定义的错误页面)

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')

    from .api_1_0 import api as api_1_0_blueprint
    app.register_blueprint(api_1_0_blueprint, url_prefix='/api/v1.0')

    return app
Example #3
0
def create_app(config_name):
    from .main import main as main_blueprint
    from .auth import auth as auth_blueprint

    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    admin.init_app(app)
    whooshalchemy.init_app(app)
    babel.init_app(app)
    csrf.init_app(app)

    from .models import User, Role, File, UserView, \
        RoleView, FileView, TagView, Tag, Dossier, \
        DossierView

    admin.add_view(UserView(User, db.session, name='用户管理'))
    admin.add_view(RoleView(Role, db.session, name='权限管理'))
    admin.add_view(FileView(File, db.session, name='资源管理'))
    # admin.add_view(TagView(Tag, db.session, name='标签管理'))
    admin.add_view(DossierView(Dossier, db.session, name='案卷管理'))

    app.register_blueprint(main_blueprint)
    app.register_blueprint(auth_blueprint, url_prefix='/auth')

    return app
Example #4
0
def create_app(config_class=Config):
    app = Flask(__name__)
    app.static_folder = os.path.join(template_folder, 'static/')
    app.template_folder = template_folder
    app.config.from_object(config_class)
    db.init_app(app)
    migrate.init_app(app, db)
    login_manager.init_app(app)
    flask_whooshalchemyplus.init_app(app)

    # Register blueprints
    from volunteercore.auth import bp as auth_bp
    app.register_blueprint(auth_bp)
    from volunteercore.volops import bp as volops_bp
    app.register_blueprint(volops_bp)
    from volunteercore.api import bp as api_bp
    app.register_blueprint(api_bp)
    from volunteercore.errors import bp as errors_bp
    app.register_blueprint(errors_bp)

    @app.route('/')
    def index():
        return render_template('index.html')

    return app
Example #5
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    app.config.from_object('setting')
    # config[config_name].init_app(app)  # 调用 init_app() 可以完成初始化过程

    db.init_app(app)
    moment.init_app(app)
    mail.init_app(app)
    login_manager.init_app(app)
    flask_admin.init_app(app)
    flask_whooshalchemyplus.init_app(app)

    # 上传文件
    configure_uploads(app, avatar)
    patch_request_class(app, 6 * 1024 * 1024)  # 限制上传大小 6M

    cache.init_app(app)  # 缓存

    assets_env.init_app(app)  # 压缩css/js
    # assets_env.register('main_css', main_css)
    assets_env.register('main_js', main_js)
    assets_env.register('article_js', article_js)

    from .main import main as main_blueprint  # 注册蓝本
    app.register_blueprint(main_blueprint)

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')  # 附加路由前缀/auth

    return app
Example #6
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    #插件使用
    bootstrap.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    pagedown.init_app(app)
    login_manager.init_app(app)
    flask_whooshalchemyplus.init_app(app)


    # 注册蓝本
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    # 注册 auth 蓝本
    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint)

    # 注册 api 蓝本
    from .api_1_0 import api as api_1_0_blueprint
    app.register_blueprint(api_1_0_blueprint, url_prefix='/api/v1.0')

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

    #配置类在 config.py 文件中定义,其中保存的配置可以使用 Flask  app.config 配置对象提供的 from_object() 方法直接导入程序
    app.config.from_object(config[config_name])

    config[config_name].init_app(app)

    #蓝本在工厂函数 create_app() 中注册到程序上
    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)
    from .api_1_0 import api as api_1_0_blueprint
    app.register_blueprint(api_1_0_blueprint, url_prefix='/api/v1.0')

    #程序创建并配置好后,就能初始化扩展了。在之前创建的扩展对象上调用 init_app() 可以完成初始化过程。
    db.init_app(app)
    login_manager.init_app(app)
    mail.init_app(app)
    monment.init_app(app)
    pagedown.init_app(app)

    flask_whooshalchemyplus.init_app(app)

    cache.init_app(app)

    #工厂函数返回创建的程序示例
    return app
Example #8
0
def create_app(config_name="default"):
    app = Flask(__name__)
    app.config.from_object(config.get(config_name))
    db.init_app(app)

    # 全文索引
    flask_whooshalchemyplus.init_app(app)

    from app.book import book_blueprint
    app.register_blueprint(book_blueprint, url_prefix="/api/book")

    app.app_context().push()
    db.create_all()
    # flask_whooshalchemyplus.index_all(app)

    @app.before_request
    def before():
        from app.user.model.user import User
        open_id = request.headers.get("wx_open_id")
        user = User.query.filter_by(open_id=open_id).first()
        if (not user) & (type(open_id) == str):
            if len(open_id) > 6:
                user = User(open_id=open_id)
                db.session.add(user)
                db.session.commit()
        g.current_user = user

    @app.after_request
    def after(response):
        response.headers["Tech"] = "NCUHOME 2019"
        return response

    return app
Example #9
0
def configure_extensions(app):
    db.init_app(app)
    login_manager.init_app(app)
    flask_whooshalchemyplus.init_app(app)
    DebugToolbarExtension(app)
    cache.init_app(app)
    bootstrap.init_app(app)
    md.init_app(app)
    mail.init_app(app)
def register_extensions(app):
    bootstrap.init_app(app)
    mail.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    bcrypt.init_app(app)
    weixin.init_app(app)
    # whoosh initialize app to enable db searchable
    flask_whooshalchemyplus.init_app(app)
Example #11
0
def extension_config(app):  # 实例化接口
    bootstrap.init_app(app)
    login_manager.init_app(app=app)
    mail.init_app(app)
    # admin.init_app(app)
    wh.init_app(app)

    login_manager.login_view = 'main.login'  # 视图未授权跳转路由
    login_manager.login_message = '请先登陆后在访问'
    login_manager.session_protection = 'strong'
Example #12
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('config')
    bootstrap.init_app(app)
    db.init_app(app)
    register_blueprints(app)
    create_admin(app)
    flask_whooshalchemyplus.init_app(app)
    init_login(app)
    babel.init_app(app)
    return app
Example #13
0
def create_app(config_name='default'):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    app.config['QQ'] = config[config_name].QQ
    app.config['GITHUB'] = config[config_name].GITHUB
    bootstrap.init_app(app)
    mail.init_app(app)
    db.init_app(app)
    cache.init_app(app)
    login_manager.init_app(app)
    Markdown(app)
    flask_whooshalchemyplus.init_app(app)
    redis_store.init_app(app)
    oauth.init_app(app)

    if not app.debug:
        import logging
        from logging.handlers import RotatingFileHandler

        file_handler = RotatingFileHandler('logs/myblog.log', 'a',
                                           1 * 1024 * 1024, 10)
        file_handler.setFormatter(
            logging.Formatter(
                '%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'
            ))
        app.logger.setLevel(logging.INFO)
        file_handler.setLevel(logging.INFO)
        app.logger.addHandler(file_handler)
        app.logger.info(u'程序启动:')
        app.logger.debug(u'调试信息:')
        app.logger.warning(u'警告信息:')
        app.logger.error(u'错误信息:')
        app.logger.critical(u'严重错误:')

    from .admin import admin
    app.register_blueprint(admin)

    from .public import public
    app.register_blueprint(public)

    from .auth import auth
    app.register_blueprint(auth, url_prefix='/auth')

    from .profile import profile
    app.register_blueprint(profile)

    from .cates import cates
    app.register_blueprint(cates)

    from .api_0_1 import api
    app.register_blueprint(api, url_prefix='/api/v1.0')

    return app
Example #14
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)
    
    csrf.init_app(app)   ####CSRF保护
    bootstrap.init_app(app)  ####支持bootstrap框架
    mail.init_app(app) 
    moment.init_app(app)       ####使用moment.js
    db.init_app(app)
    login_manager.init_app(app)
    pagedown.init_app(app)   ####博文支持pagedown
    flask_whooshalchemyplus.init_app(app)   ####支持博文搜索
    babel.init_app(app)                        ####多语言和国际化
    
    oauth.init_app(app)               ####其他网站账号Oauth登陆,目前只添加git和google

    if not app.debug and not app.testing and not app.config['SSL_DISABLE']:
        from flask.ext.sslify import SSLify
        sslify = SSLify(app)
    
    
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')
    
    from .api_1_0 import api as api_1_0_blueprint
    app.register_blueprint(api_1_0_blueprint, url_prefix='/api/v1.0')
    
    from .oauthlogin import github_login as github_blueprint                   #####为支持Oauth登陆添加一蓝图,以后再调整
    app.register_blueprint(github_blueprint,url_prefix='/github_login')
    
    # from .oauthlogin import weibo_login as weibo_blueprint
    # app.register_blueprint(weibo_blueprint,url_prefix='/weibo_login')
    
    # from .oauthlogin import qq_login as qq_blueprint
    # app.register_blueprint(qq_blueprint,url_prefix='/qq_login')###麻烦,QQ、微博都要填写个人资料申请并上传资料申请验证,未审核通过,以后有时间再弄
     
    # from .oauthlogin import douban_login as douban_blueprint
    # app.register_blueprint(douban_blueprint,url_prefix='/douban_login') ###豆瓣暂时关闭了apikey 申请
    
    
    from .oauthlogin import google_login as google_blueprint
    app.register_blueprint(google_blueprint,url_prefix='/google_login')  ##google因为网路原因可能不能回传
    

    return app
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)
    Principal(app)
    db.init_app(app)
    db.app = app
    with app.app_context():
        db.create_all()
    login_manager.init_app(app)
    from .models import User, Post, UserRole, Comment, Tag, posts_tags, Role
    from .modelview import MyAdminIndexView, MyViewAll, MyView, MyViewpost
    flask_whooshalchemyplus.init_app(app)
    admin = Admin(app, template_mode='bootstrap3',
                  index_view=MyAdminIndexView())
    admin.add_view(MyView(User, db.session))
    admin.add_view(MyViewpost(Post, db.session))
    admin.add_view(MyViewAll(Comment, db.session))
    admin.add_view(MyViewAll(Tag, db.session))

    @app.errorhandler(404)
    def page_not_fond(error):
        return render_template('base/404.html'), 404

    # Add identity to current user
    @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))

        # Assuming the User model has a list of roles, update the
        # identity with the roles that the user provides
        if hasattr(current_user, 'roles'):
            for role in current_user.roles:
                identity.provides.add(RoleNeed(role.role_name))

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    from .momentjs import momentjs
    app.jinja_env.globals['momentjs'] = momentjs



    return app
Example #16
0
def create_app(config_obj):
    """factory function"""
    app = Flask(__name__)
    app.config.from_object(config_obj)

    db.init_app(app)
    flask_whooshalchemyplus.init_app(app)
    redis.init_app(app)
    rq.init_app(app)

    views.init_app(app)

    jieba.initialize()

    return app
Example #17
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('config')

    bootstrap.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    moment.init_app(app)
    flask_whooshalchemyplus.init_app(app)

    from .admin import admin as admin_blueprint
    app.register_blueprint(admin_blueprint, url_prefix='/admin')

    from .home import home as home_blueprint
    app.register_blueprint(home_blueprint)

    return app
Example #18
0
def create_app(config_name=None):
    if config_name is None:
        config_name = os.environ.get('FLASK_CONFIG', 'default')

    app = MyFlask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    register_extensions(app)
    register_components(app)
    register_commands(app)
    register_template_context(app)

    Signal.send('create_app', 'bearblog', app=app)

    flask_whooshalchemyplus.init_app(app)

    return app
Example #19
0
def create_app():
    app = Flask(__name__)
    app.config['SECRET_KEY'] = '123456'  # 用于保存session的
    '''
    邮箱激活相关配置!
    '''
    app.config['MAIL_DEBUG'] = True
    app.config['MAIL_SERVER'] = 'smtp.163.com'
    app.config['MAIL_PORT'] = 465
    app.config['MAIL_USE_SSL'] = True
    app.config['MAIL_USERNAME'] = '******'
    app.config['MAIL_PASSWORD'] = '******'
    app.debug = True  # 注意产品上线的时候要管了
    register_blue(app)  # 注册蓝图对象
    init_ext(app)  # 数据库相关 拓展程序
    # 全文检索
    flask_whooshalchemyplus.init_app(app)
    return app
Example #20
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    flask_whooshalchemyplus.init_app(app)

    # 注册前台蓝本
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    # 注册后台蓝本
    from .admin import admin as admin_blueprint
    app.register_blueprint(admin_blueprint, url_prefix='/admin')

    return app
Example #21
0
def create_app(config_class):
    """
    生成Flask实例的工厂函数
    加载配置文件, 注册蓝图, 注册插件
    :param config_class: 配置文件类
    :return: 返回应用app
    """
    app_instance = Flask(__name__)

    app_instance.config.from_object(config_class)

    db.init_app(app_instance)
    csrf.init_app(app_instance)

    # app_instance.elasticsearch = Elasticsearch([app_instance.config['ELASTICSEARCH_URL']]) \
    #     if app_instance.config['ELASTICSEARCH_URL'] else None
    flask_whooshalchemyplus.init_app(app_instance)
    set_app_log(app_instance)
    return app_instance
Example #22
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    mail.init_app(app)
    db.init_app(app)
    flask_whooshalchemyplus.init_app(app)
    login_manager.init_app(app)
    sockets.init_app(app)
    scheduler.init_app(app)
    scheduler.start()

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')

    return app
Example #23
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])  #选择使用哪一个数据库
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    pagedown.init_app(app)
    flask_whooshalchemyplus.init_app(app)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)  #注册蓝本时,蓝本里的路由才生效。这是主页蓝本

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')  #用于用户管理的蓝本

    return app
Example #24
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)
    db.init_app(app)
    bootstrap.init_app(app)
    moment.init_app(app)
    mail.init_app(app)
    cache.init_app(app)
    bcrypt.init_app(app)
    login_manager.init_app(app)
    flask_whooshalchemyplus.init_app(app)
    configure_uploads(app, photos)
    patch_request_class(app)
    admin.init_app(app)
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)
    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')

    return app
Example #25
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    db.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    bootstrap.init_app(app)
    login_manager.init_app(app)
    pagedown.init_app(app)
    flask_whooshalchemyplus.init_app(app)
    #search.init_app(app)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)
    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')
    from .api import api as api_blueprint
    app.register_blueprint(api_blueprint, url_prefix='/api/v1')
    from .inner_api import inner_api as inner_api_blueprint
    app.register_blueprint(inner_api_blueprint, url_prefix='/inner_api/v0.1')

    return app
Example #26
0
def create_app(config_name):
    # 初始化应用
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    db.init_app(app)
    mail.init_app(app)
    login_manager.init_app(app)
    moment.init_app(app)
    # 配置flask-uploads
    configure_uploads(app, (avatars, post_img))
    patch_request_class(app, 3*1024*1024)  # 设置上传文件最大为2mb
    ckeditor.init_app(app)
    toastr.init_app(app)
    flask_whooshalchemyplus.init_app(app)


    # 注册蓝本
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix='/auth')

    from .user import user_page as user_page_blueprint
    app.register_blueprint(user_page_blueprint, url_prefix='/user')

    from .blog import blog as blog_blueprint
    app.register_blueprint(blog_blueprint, url_prefix='/blog')

    from .api import api as api_blueprint
    app.register_blueprint(api_blueprint, url_prefix='/api/v1')

    return app
Example #27
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    moment.init_app(app)
    db.init_app(app)
    bootstrap.init_app(app)
    loginmanager.init_app(app)
    mail.init_app(app)
    pagedown.init_app(app)
    flask_whooshalchemyplus.init_app(app)

    #把所有请求重定向到安全http
    if not app.config['SSL_DISABLE']:
        from flask_sslify import SSLify
        sslify = SSLify(app)

    from .main import main
    app.register_blueprint(main)
    from .auth import auth
    app.register_blueprint(auth, url_prefix='/auth')

    return app
Example #28
0
from flask_mail import Mail
from .momentjs import momentjs
from flask_babel import Babel, lazy_gettext

app = Flask(__name__)
# 读取配置文件
app.config.from_object('config')
db = SQLAlchemy(app)

lm = LoginManager()
lm.init_app(app)
lm.login_view = 'main.login'
# 多语言处理Flask自带的登录提醒
lm.login_message = lazy_gettext('请登录后访问本页.')

flask_whooshalchemyplus.init_app(app)

from app.leaf.leaf_models import Post
flask_whooshalchemyplus.whoosh_index(app, Post)
from app.book.book_models import Book
flask_whooshalchemyplus.whoosh_index(app, Book)

mail = Mail(app)

# 将封装类与jinja2绑定
app.jinja_env.globals['momentjs'] = momentjs

# 国际化支持
babel = Babel(app)

from app.main import views, models
Example #29
0
def create_app(DevConfig):
    app = Flask(__name__)
    # 跨域加允许 cookies
    cors = CORS(
        app,
        resources={r'/api/*': {
            'origins': '*',
            'supports_credentials': True
        }})
    app.config.from_object(DevConfig)

    mail.init_app(app)
    mail.app = app
    db.init_app(app)

    with app.app_context():
        # db.drop_all()
        db.create_all()
        # create_user()
        # from webapp.app_blueprint import create_fake_data
        # create_fake_data()
        # whoosh_index(app, Blog)
        # whoosh_index(app, Comment)
        # whoosh_index(app, User)
        # index_all(app)

    flask_whooshalchemyplus.init_app(app)

    login_manager.init_app(app)
    rest_api.add_resource(BlogApi, '/api/blog', '/api/blog/<int:id>')
    rest_api.add_resource(CommentApi, '/api/blog/<int:blog_id>/comment')
    rest_api.add_resource(BlogTitleApi, '/api/blog/all')
    rest_api.add_resource(BlogTagApi, '/api/blog/tag',
                          '/api/blog/tag/<int:tag_id>')
    rest_api.add_resource(LoginApi, '/api/login')
    rest_api.add_resource(UserApi, '/api/user')
    rest_api.add_resource(LogoutApi, '/api/logout')
    rest_api.add_resource(RegisterApi, '/api/register')
    rest_api.add_resource(CheckMessageApi, '/api/checkMessages')
    rest_api.add_resource(MessageApi, '/api/message',
                          '/api/message/<int:message_id>')
    rest_api.add_resource(MentionApi, '/api/usernameMention')
    rest_api.add_resource(ZanApi, '/api/comment/<int:comment_id>/zan')
    rest_api.add_resource(GetImgApi, '/api/imgs')
    rest_api.add_resource(SearchApi, '/api/search')
    rest_api.add_resource(userAndRoomApi, '/api/wuziqi/userandroom')

    rest_api.init_app(app)

    celery.conf.update(app.config)
    # celery.init_app(app)

    from webapp.app_blueprint import app_blueprint
    app.register_blueprint(app_blueprint)

    from webapp.tasks import tasks_blueprint
    app.register_blueprint(tasks_blueprint)

    from webapp.send_email import emails_blueprint
    app.register_blueprint(emails_blueprint, url_prefix='/emails')

    socketio.init_app(app, message_queue=app.config['CELERY_BROKER_URL'])

    return app
Example #30
0
# arguments for API (methods allowed, pagination, etc)
kwargs = {
    'methods': frozenset(['GET']),
    'allow_functions': True,
    'results_per_page': 10
}

# create API endpoint for each model
for model in model_objects:
    manager.create_api(model, **kwargs)

for model in model_objects:
    whooshalchemy.whoosh_index(app, model)

with app.app_context():
    whooshalchemy.init_app(app)
    whooshalchemy.index_all(app)

# unpaginated API endpoints


@app.route('/api/unpaginated/parks')
def unpaginated_parks():
    parks_list = []
    parks = db.session.query(Park).all()
    for park in parks:
        parks_dict = {}
        parks_dict['id'] = park.id
        parks_dict['name'] = park.name
        parks_dict['website'] = park.website
        parks_dict['city_id'] = park.city_id
Example #31
0
def register_fulltext(app):
    import flask_whooshalchemyplus
    flask_whooshalchemyplus.init_app(app=app)