diff options
Diffstat (limited to 'accounts/__init__.py')
-rw-r--r-- | accounts/__init__.py | 44 |
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 |