2020-03-26 08:15:59 +00:00
|
|
|
import flask
|
2020-03-29 18:34:18 +00:00
|
|
|
from formity.admin import IndexView
|
2020-03-31 14:04:36 +00:00
|
|
|
from formity.external_auth import ExternalSpaceAuth
|
|
|
|
from formity.extensions import db, migrate, admin, babel, metrics
|
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)
|
2020-03-31 14:04:36 +00:00
|
|
|
ExternalSpaceAuth().init_app(app)
|
2020-03-30 07:12:37 +00:00
|
|
|
metrics.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
|