Beispiel #1
0
async def init_app():
    app = web.Application(debug=True, client_max_size=1024**2)
    secret_key = base64.urlsafe_b64decode(BaseConfig.secret_key)
    setup(app, EncryptedCookieStorage(secret_key))

    aiohttp_jinja2.setup(app,
                         loader=jinja2.PackageLoader(package_name="app",
                                                     package_path="templates"),
                         context_processors=[current_user_ctx_proccessor])

    setup_routes(app)
    setup_api_routes(app)
    setup_static_routes(app)

    config = BaseConfig.load_config(args.config)
    app['config'] = config

    db_pool = await init_db(app)

    log.debug(app['config'])

    if args.reload:
        print()
        print("------------------------------")
        print("Start with code reload")
        aioreloader.start()

    return app
Beispiel #2
0
    def start(self):
        if self.config.DEBUG:
            import aioreloader

            aioreloader.start()

        web.run_app(self.app, port=self.config.PORT)
Beispiel #3
0
Datei: main.py Projekt: fqxp/nete
def main():
    config.parse_args(sys.argv[1:])

    setup_logging()
    print_config()
    create_missing_dirs()

    storage = build_storage()
    storage.open()

    app = create_app(storage, config['sync.url'])

    if config['debug'] and aioreloader:
        aioreloader.start(hook=storage.close)

    try:
        socket_path = config['api.socket']
        logger.info('Starting server on socket {}'.format(socket_path))
        web.run_app(app, path=socket_path)
    except Exception as e:
        logger.error('Backend error: {}'.format(e))
        raise
    finally:
        storage.close()
        logger.info('nete-backend ended.')
Beispiel #4
0
async def init_app():

    app = web.Application()
    secret_key = base64.urlsafe_b64decode(BaseConfig.secret_key)
    setup(app, EncryptedCookieStorage(secret_key))

    aiohttp_jinja2.setup(app,
                         loader=jinja2.PackageLoader(package_name='app',
                                                     package_path='templates'),
                         context_processors=[current_user_ctx_proccessor])

    setup_routes(app)
    setup_static_routes(app)

    config = BaseConfig.load_config(args.config)
    app['config'] = config

    if args.reload:
        print()
        print('-------------------------------------------------')
        print("Start with code reload")
        aioreloader.start()

    app.on_startup.append(on_start)
    app.on_cleanup.append(on_shutdown)
    return app
Beispiel #5
0
def run():
    app = web.Application(middlewares=[
        submissions_middleware,
        response_middleware,
        error_middleware
    ])
    app.on_startup.append(on_startup)
    app.on_cleanup.append(on_cleanup)
    scanner = venusian.Scanner(router=app.router)
    scanner.scan(playlog.web)
    if config.DEBUG:
        import aioreloader
        aioreloader.start()
    web.run_app(app, host=config.SERVER_HOST, port=config.SERVER_PORT)
Beispiel #6
0
def main():
    parser = argparse.ArgumentParser(description="Demo aiohttp project")
    parser.add_argument('--host', help='host', default='127.0.0.1')
    parser.add_argument('--port', help='port', default=5000)
    parser.add_argument('--reload', action="store_true", help="autoreload")
    parser.add_argument('--config', type=argparse.FileType('r'), help="conf file")

    args = parser.parse_args()

    app = async_create_app(load_config(args.config))

    if args.reload:
        print("Start with code reloader")
        import aioreloader
        aioreloader.start()

    aiohttp.web.run_app(app, host=args.host, port=args.port)
Beispiel #7
0
def parse_arguments(app):
    parser = ArgumentParser()
    parser.add_argument('--host',
                        type=str,
                        help='Host to listen',
                        default='0.0.0.0')
    parser.add_argument('--port',
                        help='Port to access connections',
                        default=8080)
    parser.add_argument('--reload',
                        action='store_true',
                        help='Autoreload code on change')

    args = parser.parse_args()
    if args.reload:
        # logging.debug('Starts with code reload')
        aioreloader.start()
    return args
def main():
    """
    Initialize and Create an application instance.

    During initialization an application is created, set it with config object,
    initialize a mongo db and register routes

    Function is called when the module is run directly
    """

    vertebra = Vertebral()
    logger = vertebra.getLogger()
    config = vertebra.load_config(DEFAULT_CONFIG_PATH)

    app = web.Application(middlewares=MIDDLEWARES, logger=logger)
    aioreloader.start()

    setup(app, EncryptedCookieStorage(b'Thirty  two  length  bytes  key.'))

    app["config"] = config
    app["logger"] = logger  # TODO Probar bien queo que no hace falta

    app['prefix'] = vertebra.set_path_prefix()

    # Set Swagger and Openapi3
    swagger = vertebra.set_swagger_config(app)
    swagger.validate = config['swagger']["enabled"]

    # Load Routes, Match Endpoint with Handller
    vertebra.load_routes(swagger)

    # Setup Mongo Client
    app["mongo"] = \
        MongoModel().setup_client(config['mongo']['uri'],
                                  config['mongo']['db_name'])

    # Load Load Initial authentication Data if is necesary
    # await vertebra.load_initial_auth_data(app["mongo"])

    # Set vertebra
    app["vertebra"] = vertebra

    logger.info(f'All Systems are ready')
    web.run_app(app, host=config["host"], port=config['port'])
Beispiel #9
0
    def run(self):
        self.reloader = aioreloader.start(loop=self.loop)
        http_server = self.loop.create_server(
            self.handler,
            self.host,
            self.port,
        )

        self.http_server = self.loop.run_until_complete(http_server)

        try:
            logging.info('App was started. '
                         'Running on %(host)s:%(port)s',
                         {'host': self.host, 'port': self.port})
            self.loop.run_forever()
        except KeyboardInterrupt:
            pass
        finally:
            self.reloader.cancel()
            logging.info('Aioreloader is closing')

            self.http_server.close()
            logging.info('HTTP Server is closing')

            self.loop.run_until_complete(self.http_server.wait_closed())
            logging.info('HTTP Server is closed')

            self.loop.run_until_complete(self.app.shutdown())
            logging.info('App was shutdown')

            self.loop.run_until_complete(self.handler.shutdown())
            logging.info('Handler is shutting down')

            self.loop.run_until_complete(self.app.cleanup())
            self.loop.close()
            logging.info('App was finished')
Beispiel #10
0
import aiohttp
import aioreloader

from demo.app import create_app

try:
    import uvloop
    asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
except ImportError:
    print('Library uvloop isn\'t available.')

parser = argparse.ArgumentParser(description='Demo Project')
parser.add_argument('--host', help='host to listen', default='0.0.0.0')
parser.add_argument('--port', help='port to accept connections', default=8080)
parser.add_argument('--reload',
                    action='store_true',
                    help='auto-reload code on change')

args = parser.parse_args()

app = create_app()

if args.reload:
    print('Start with code reload')
    app = aiohttp.web.Application()
    aioreloader.start()

if __name__ == '__main__':
    aiohttp.web.run_app(app, host=args.host, port=args.port)
Beispiel #11
0
    def start(self):
        import aioreloader

        aioreloader.start()
        web.run_app(self.app, port=9002)
Beispiel #12
0
def main():
	if args.reload:
		aioreloader.start()
		logging.warning('Autoreload is started')
	app = create_app(config=load_config(args.config))
	aiohttp.web.run_app(app, host=args.host, port=args.port)