Beispiel #1
0
def app_startup(app_list: list, app: web.Application, context: dict,
                **kwargs: dict):
    # Configure the main App
    # app.router.add_route("GET", "/ping", ping)
    # index
    app.router.add_get("/", home)
    for app_name in app_list:
        obj = None
        try:
            name = app_name.split(".")[1]
            app_class = importlib.import_module(app_name, package="apps")
            obj = getattr(app_class, name)
            instance = obj(context, **kwargs)
            domain = getattr(instance, 'domain', None)
            if domain:
                app.add_domain(domain, instance.App)
            else:
                app.add_subapp("/{}/".format(name), instance.App)
            # TODO: build automatic documentation
        except ImportError as err:
            print(err)
            continue