Changeset - 15bacec428e5
[Not reviewed]
default
0 2 0
Dennis Fink - 10 years ago 2014-12-11 00:43:38
dennis.fink@c3l.lu
Use factory function to create an ennstatus app
2 files changed with 38 insertions and 30 deletions:
0 comments (0 inline, 0 general)
ennstatus/__init__.py
Show inline comments
 
from flask import Flask, render_template
 
from flask.ext.bootstrap import Bootstrap
 
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
manage.py
Show inline comments
 
@@ -6,16 +6,16 @@ import os.path
 
from flask import current_app
 
from flask.ext.script import Manager
 
from flask.ext.script.commands import Clean, ShowUrls
 

	
 
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
 
def dumpconfig():
 
    """Show config."""
 

	
0 comments (0 inline, 0 general)