Exemplo n.º 1
0
async def init_app(argv=None):
    app = web.Application(router=UrlDispatcherEx())
    app['config'] = get_config(argv)
    setup_aiohttp_apispec(app=app, error_callback=my_error_handler)
    app.middlewares.append(validation_middleware)
    app.on_startup.append(init_pg)
    app.on_cleanup.append(close_pg)
    setup_routes(app)
    return app
Exemplo n.º 2
0
def db():
    test_config = get_config(['-c', TEST_CONFIG_PATH.as_posix()])

    setup_db(test_config['postgres'])
    yield
    teardown_db(test_config['postgres'])
Exemplo n.º 3
0
import os

from flask_script import Manager, Server

from api.settings import get_config
from api.app import create_app


def find_assets():
    """Yield paths for all static files and templates."""
    for name in ['static', 'templates']:
        directory = os.path.join(app.config['PATH'], name)
        for entry in os.scandir(directory):
            if entry.is_file():
                yield entry.path


config = get_config(os.getenv('FLASK_ENV'))

app = create_app(config)

server = Server(host='0.0.0.0', extra_files=find_assets())

manager = Manager(app)
manager.add_command('run', server)


if __name__ == '__main__':
    manager.run()
Exemplo n.º 4
0
import os
from flask_script import Command, Manager, Server

from api.settings import get_config
from api.app import create_app

config = get_config(os.getenv('FLASK_CONFIG', 'dev'))

app = create_app(config)

manager = Manager(app)
manager.add_command('run', Server(host='0.0.0.0'))

if __name__ == '__main__':
    manager.run()
Exemplo n.º 5
0
def app():
    return create_app(get_config('test'))
Exemplo n.º 6
0
    def it_returns_a_config():
        config = get_config("prod")

        expect(config.ENV) == "prod"
Exemplo n.º 7
0
 def it_handles_unknown_names():
     with expect.raises(AssertionError):
         get_config("not_a_valid_config")
Exemplo n.º 8
0
 def it_handles_empty_names():
     with expect.raises(AssertionError):
         get_config("")
Exemplo n.º 9
0
"""Приложения для запуска при деплое, использует внутренний веб сервер и создает unix или tcp сокеты"""
import argparse

from aiohttp import web
from aiohttp_apispec import validation_middleware, setup_aiohttp_apispec
from aiohttp_route_middleware import UrlDispatcherEx

from api.models import init_pg, close_pg
from api.routes import setup_routes
from api.schemas import my_error_handler
from api.settings import get_config

parser = argparse.ArgumentParser(description="aiohttp server example")
parser.add_argument('--path')
parser.add_argument('--port')

if __name__ == '__main__':
    # ВАЖНО!! ТОЛЬКО ДЛЯ ДЕПЛОЯ НА БОЕВОЙ СЕРВЕР
    app = web.Application(router=UrlDispatcherEx())
    app['config'] = get_config()
    setup_aiohttp_apispec(app=app, error_callback=my_error_handler)
    app.middlewares.append(validation_middleware)
    app.on_startup.append(init_pg)
    app.on_cleanup.append(close_pg)
    setup_routes(app)
    args = parser.parse_args()
    web.run_app(app, path=args.path, port=args.port)