covid-formity/formity/__init__.py

37 lines
1010 B
Python

import flask
from formity.admin import IndexView
from formity.external_auth import ExternalSpaceAuth
from formity.extensions import db, migrate, admin, babel, metrics, cache
def create_app():
app = flask.Flask(
__name__,
template_folder='../templates',
static_folder='../static',
)
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config.from_object('formity.settings.%s' % app.env)
db.init_app(app)
migrate.init_app(app, db)
babel.init_app(app)
ExternalSpaceAuth().init_app(app)
metrics.init_app(app)
cache.init_app(app)
import formity.views
import formity.models
import formity.scripts
admin.init_app(app, index_view=IndexView())
app.register_blueprint(formity.views.bp)
app.cli.add_command(formity.scripts.cli)
from werkzeug.contrib.fixers import ProxyFix
if app.config.get('PROXYFIX_ENABLE'):
app.wsgi_app = ProxyFix(app.wsgi_app, app.config.get('PROXYFIX_NUM_PROXIES'))
return app