covid-formity/formity/__init__.py

37 lines
1010 B
Python
Raw Normal View History

2020-03-26 08:15:59 +00:00
import flask
2020-03-29 18:34:18 +00:00
from formity.admin import IndexView
from formity.external_auth import ExternalSpaceAuth
from formity.extensions import db, migrate, admin, babel, metrics, cache
2020-03-26 08:15:59 +00:00
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)
2020-03-26 09:09:44 +00:00
babel.init_app(app)
ExternalSpaceAuth().init_app(app)
2020-03-30 07:12:37 +00:00
metrics.init_app(app)
cache.init_app(app)
2020-03-26 08:15:59 +00:00
import formity.views
import formity.models
2020-03-29 08:19:57 +00:00
import formity.scripts
2020-03-26 08:15:59 +00:00
2020-03-29 18:34:18 +00:00
admin.init_app(app, index_view=IndexView())
2020-03-26 08:15:59 +00:00
app.register_blueprint(formity.views.bp)
2020-03-29 08:19:57 +00:00
app.cli.add_command(formity.scripts.cli)
2020-03-26 08:15:59 +00:00
2020-03-27 11:40:33 +00:00
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'))
2020-03-26 08:15:59 +00:00
return app