def create_app (Config): """ App creation function """ app = flask.Flask (__name__, instance_relative_config=True) app.config.from_object (Config) app.config.from_pyfile (Config.CONFIG_FILE) # pylint: disable=no-member app.logger.setLevel (Config.LOG_LEVEL) app.logger.info ("Instance path: {ip}".format (ip = app.instance_path)) app.register_blueprint (login.bp) app.config.dba = db_tools.PostgreSQLEngine (**app.config) user_db_url = app.config.dba.url # tell flask_sqlalchemy where the user database is app.config['SQLALCHEMY_DATABASE_URI'] = user_db_url do_init_app (app) instances = collections.OrderedDict () extra_files = [app.instance_path + '/' + Config.CONFIG_FILE] for fn in glob.glob (app.instance_path + '/*.conf'): extra_files.append (fn) fn = os.path.basename (fn) if fn == Config.CONFIG_FILE: continue sub_app = flask.Flask (__name__, instance_relative_config=True) sub_app.config.from_object (Config) sub_app.config.from_pyfile (Config.CONFIG_FILE) sub_app.config.from_pyfile (fn) sub_app.config['CONFIG_FILE'] = fn sub_app.register_blueprint (main.bp) sub_app.register_blueprint (textflow.bp) sub_app.register_blueprint (comparison.bp) sub_app.register_blueprint (editor.bp) sub_app.register_blueprint (set_cover.bp) sub_app.config.dba = db_tools.PostgreSQLEngine (**sub_app.config) sub_app.config['SQLALCHEMY_DATABASE_URI'] = user_db_url do_init_app (sub_app) main.init_app (sub_app) textflow.init_app (app) comparison.init_app (app) editor.init_app (sub_app) set_cover.init_app (sub_app) instances[sub_app.config['APPLICATION_ROOT']] = sub_app return app, instances, extra_files
async def cli(loop, test_client): app = init_app() return await test_client(app)
import asyncio from aiohttp import web from main import init_app if __name__ == '__main__': loop = asyncio.get_event_loop() app = loop.run_until_complete(init_app()) web.run_app(app)
def create_app(Config): """ App creation function """ instance_path = os.path.abspath('instance') app = flask.Flask(__name__) global_config = os.path.join(instance_path, Config.CONFIG_FILE) app.config.from_object(Config) app.config.from_pyfile(global_config) # pylint: disable=no-member app.logger.setLevel(Config.LOG_LEVEL) app.logger.info("Instance path: {ip}".format(ip=instance_path)) app.register_blueprint(static.bp) app.register_blueprint(login.bp) app.config.dba = db_tools.PostgreSQLEngine(**app.config) user_db_url = app.config.dba.url # tell flask_sqlalchemy where the user authentication database is app.config['SQLALCHEMY_DATABASE_URI'] = user_db_url static.init_app(app) do_init_app(app) instances = collections.OrderedDict() extra_files = [instance_path + '/' + Config.CONFIG_FILE] for fn in glob.glob(instance_path + '/*.conf'): extra_files.append(fn) fn = os.path.basename(fn) if fn == Config.CONFIG_FILE: continue sub_app = flask.Flask(__name__) sub_app.config.from_object(Config) sub_app.config.from_pyfile(global_config) sub_app.config.from_pyfile(os.path.join(instance_path, fn)) sub_app.config['CONFIG_FILE'] = fn sub_app.config['APPLICATION_DIR'] = sub_app.config['APPLICATION_ROOT'] sub_app.config['APPLICATION_ROOT'] = os.path.join( app.config['APPLICATION_ROOT'], sub_app.config['APPLICATION_ROOT']) sub_app.register_blueprint(main.bp) sub_app.register_blueprint(textflow.bp) sub_app.register_blueprint(comparison.bp) sub_app.register_blueprint(editor.bp) sub_app.register_blueprint(set_cover.bp) sub_app.register_blueprint(checks.bp) sub_app.config.dba = db_tools.PostgreSQLEngine(**sub_app.config) sub_app.config['SQLALCHEMY_DATABASE_URI'] = user_db_url do_init_app(sub_app) main.init_app(sub_app) textflow.init_app(sub_app) comparison.init_app(sub_app) editor.init_app(sub_app) set_cover.init_app(sub_app) checks.init_app(sub_app) instances[sub_app.config['APPLICATION_ROOT']] = sub_app info_app = flask.Flask(__name__) info_app.config.update(app.config) info_app.register_blueprint(info.bp) do_init_app(info_app) info.init_app(app, instances) instances[app.config['APPLICATION_ROOT']] = info_app d = DispatcherMiddleware(app, instances) d.config = app.config d.config['EXTRA_FILES'] = extra_files return d
def cli(loop, aiohttp_client, pg_database): """Aiohttp cli fixture.""" app = init_app() return loop.run_until_complete(aiohttp_client(app))
from main import init_app app = init_app() if __name__ == "__main__": app.run(host='127.0.0.1')