in optional-kubernetes-engine/bookshelf/__init__.py [0:0]
def create_app(config, debug=False, testing=False, config_overrides=None):
app = Flask(__name__)
app.config.from_object(config)
app.debug = debug
app.testing = testing
if config_overrides:
app.config.update(config_overrides)
# Configure logging
if not app.testing:
logging.basicConfig(level=logging.INFO)
# Setup the data model.
with app.app_context():
model = get_model()
model.init_app(app)
# Create a health check handler. Health checks are used when running on
# Google Compute Engine by the load balancer to determine which instances
# can serve traffic. Google App Engine also uses health checking, but
# accepts any non-500 response as healthy.
@app.route('/_ah/health')
def health_check():
return 'ok', 200
# Initalize the OAuth2 helper.
oauth2.init_app(
app,
scopes=['email', 'profile'],
authorize_callback=_request_user_info)
# Add a logout handler.
@app.route('/logout')
def logout():
# Delete the user's profile and the credentials stored by oauth2.
del session['profile']
session.modified = True
oauth2.storage.delete()
return redirect(request.referrer or '/')
# Register the Bookshelf CRUD blueprint.
from .crud import crud
app.register_blueprint(crud, url_prefix='/books')
# Add a default root route.
@app.route("/")
def index():
return redirect(url_for('crud.list'))
# Add an error handler. This is useful for debugging the live application,
# however, you should disable the output of the exception for production
# applications.
@app.errorhandler(500)
def server_error(e):
return """