-
Saket Agrahari authoredSaket Agrahari authored
__init__.py 1.06 KiB
"""
automatically invoked app factory
"""
import logging
import os
from flask import Flask
from flask_cors import CORS # for debugging
from compendium_v2 import environment
from compendium_v2 import config
def create_app():
"""
overrides default settings with those found
in the file read from env var SETTINGS_FILENAME
:return: a new flask app instance
"""
assert 'SETTINGS_FILENAME' in os.environ
with open(os.environ['SETTINGS_FILENAME']) as f:
app_config = config.load(f)
app = Flask(__name__)
CORS(app)
app.secret_key = 'super secret session key'
app.config['CONFIG_PARAMS'] = app_config
from compendium_v2.routes import default
app.register_blueprint(default.routes, url_prefix='/')
from compendium_v2.routes import api
app.register_blueprint(api.routes, url_prefix='/api')
from compendium_v2.routes import service_matrix
app.register_blueprint(service_matrix.routes, url_prefix='/service-matrix')
logging.info('Flask app initialized')
environment.setup_logging()
return app