Source code for lakesuperior.app

import logging
import multiprocessing

from flask import Flask

from lakesuperior.endpoints.admin import admin
from lakesuperior.endpoints.ldp import ldp
from lakesuperior.endpoints.main import main
from lakesuperior.endpoints.query import query

logger = logging.getLogger(__name__)


[docs]def create_app(app_conf): ''' App factory. Create a Flask app. @param app_conf (dict) Configuration parsed from `application.yml` file. ''' app = Flask(__name__) app.config.update(app_conf) pid = multiprocessing.current_process().pid logger.info('Starting Lakesuperior HTTP server with PID: {}.'.format(pid)) app.register_blueprint(main) app.register_blueprint(ldp, url_prefix='/ldp', url_defaults={ 'url_prefix': 'ldp' }) # Legacy endpoint. @TODO Deprecate. app.register_blueprint(ldp, url_prefix='/rest', url_defaults={ 'url_prefix': 'rest' }) app.register_blueprint(query, url_prefix='/query') app.register_blueprint(admin, url_prefix='/admin') return app