def create_app(env=None):
"""
Bootstrap function to initialise the Flask app and config
:return: Initialised Flask app
"""
app = Flask(__name__)
if env is None:
env = os.getenv('TM_ENV', 'Dev') # default to Dev if config environment var not set
app.config.from_object(f'server.config.{env}Config')
initialise_logger(app)
app.logger.info(f'HOT Tasking Manager App Starting Up, Environment = {env}')
db.init_app(app)
migrate.init_app(app, db)
app.logger.debug('Initialising Blueprints')
from .web import main as main_blueprint
from .web import swagger as swagger_blueprint
app.register_blueprint(main_blueprint)
app.register_blueprint(swagger_blueprint)
init_flask_restful_routes(app)
CORS(app) # Enables CORS on all API routes, meaning API is callable from anywhere
app.secret_key = app.config['SECRET_KEY'] # Required by itsdangeroud, Flask-OAuthlib for creating entropy
oauth.init_app(app)
return app
评论列表
文章目录