summaryrefslogtreecommitdiffstats
path: root/accounts/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'accounts/__init__.py')
-rw-r--r--accounts/__init__.py44
1 files changed, 24 insertions, 20 deletions
diff --git a/accounts/__init__.py b/accounts/__init__.py
index 0eb202a..e650586 100644
--- a/accounts/__init__.py
+++ b/accounts/__init__.py
@@ -2,32 +2,36 @@
from flask import Flask, g, session
from models import Service
-from utils import *
+from utils import get_backend
from utils.sessions import EncryptedSessionInterface
from utils.login import create_login_manager
from views import default, login, admin
-app = Flask(__name__)
-app.register_blueprint(default.bp)
-app.register_blueprint(login.bp)
-app.register_blueprint(admin.bp, url_prefix='/admin')
-app.config.from_object('accounts.default_settings')
-app.config.from_envvar('SPLINE_ACCOUNT_WEB_SETTINGS', silent=True)
-app.session_interface = EncryptedSessionInterface()
+def create_app():
+ app = Flask(__name__)
+ app.config.from_object('accounts.default_settings')
+ app.config.from_envvar('SPLINE_ACCOUNT_WEB_SETTINGS', silent=True)
-app.all_services = list()
-for (name, url) in app.config.get('SERVICES', list()):
- cn = name.lower()
- app.all_services.append(Service(cn, name, url))
+ app.register_blueprint(default.bp)
+ app.register_blueprint(login.bp)
+ app.register_blueprint(admin.bp, url_prefix='/admin')
+ app.session_interface = EncryptedSessionInterface()
-app.user_backend = get_backend(app.config['USER_BACKEND'], app)
-app.mail_backend = get_backend(app.config['MAIL_BACKEND'], app)
+ app.user_backend = get_backend(app.config['USER_BACKEND'], app)
+ app.mail_backend = get_backend(app.config['MAIL_BACKEND'], app)
-app.username_blacklist = list()
-if app.config.get('USERNAME_BLACKLIST_FILE'):
- with open(app.config['USERNAME_BLACKLIST_FILE']) as f:
- app.username_blacklist = f.read().split('\n')
+ app.all_services = list()
+ for (name, url) in app.config.get('SERVICES', list()):
+ cn = name.lower()
+ app.all_services.append(Service(cn, name, url))
-login_manager = create_login_manager()
-login_manager.init_app(app)
+ app.username_blacklist = list()
+ if app.config.get('USERNAME_BLACKLIST_FILE'):
+ with open(app.config['USERNAME_BLACKLIST_FILE']) as f:
+ app.username_blacklist = f.read().split('\n')
+
+ login_manager = create_login_manager()
+ login_manager.init_app(app)
+
+ return app