diff --git a/ennstatus/__init__.py b/ennstatus/__init__.py --- a/ennstatus/__init__.py +++ b/ennstatus/__init__.py @@ -4,35 +4,43 @@ from flask.ext.compress import Compress from werkzeug.contrib.fixers import ProxyFix -from ennstatus.log import init_logging -from ennstatus.status.functions import mail - -app = Flask(__name__) -app.config.from_envvar('ENNSTATUS_SETTINGS') - -app.wsgi_app = ProxyFix(app.wsgi_app) - -Bootstrap(app) -Compress(app) -mail.init_app(app) - -from ennstatus.root.views import root_page -from ennstatus.api.views import api_page -from ennstatus.donate.views import donate_page -from ennstatus.status.views import status_page -from ennstatus.stats.views import stats_page - -app.register_blueprint(root_page) -app.register_blueprint(api_page, url_prefix='/api') -app.register_blueprint(donate_page, url_prefix='/donate') -app.register_blueprint(status_page, url_prefix='/status') -app.register_blueprint(stats_page, url_prefix='/stats') +bootstrap = Bootstrap() +compress = Compress() -@app.errorhandler(404) -def page_not_found(e): - return render_template('errorpages/404.html') +def create_app(): + + app = Flask(__name__) + app.config.from_envvar('ENNSTATUS_SETTINGS') + + app.wsgi_app = ProxyFix(app.wsgi_app) + + bootstrap.init_app(app) + compress.init_app(app) + + from .status.functions import mail + mail.init_app(app) + + from .root.views import root_page + app.register_blueprint(root_page) -init_logging(app) + from .api.views import api_page + app.register_blueprint(api_page, url_prefix='/api') + + from .donate.views import donate_page + app.register_blueprint(donate_page, url_prefix='/donate') + + from .status.views import status_page + app.register_blueprint(status_page, url_prefix='/status') -application = app + from .stats.views import stats_page + app.register_blueprint(stats_page, url_prefix='/stats') + + from .log import init_logging + init_logging(app) + + @app.errorhandler(404) + def page_not_found(e): + return render_template('errorpages/404.html') + + return app diff --git a/manage.py b/manage.py --- a/manage.py +++ b/manage.py @@ -9,10 +9,10 @@ from flask.ext.script.commands import Cl os.environ['ENNSTATUS_SETTINGS'] = '../test/config.py' -from ennstatus import app +from ennstatus import create_app -manager = Manager(app) +manager = Manager(create_app()) @manager.command