Exemple #1
0
 def add_ui_controllers(self, package_name, app):
     """
     Search for UI controllers in `package_name` and add
     them to the webapp.
     """
     from galaxy.webapps.base.controller import BaseUIController
     for name, module in base.walk_controller_modules(package_name):
         # Look for a controller inside the modules
         for key in dir(module):
             T = getattr(module, key)
             if inspect.isclass(T) and T is not BaseUIController and issubclass(T, BaseUIController):
                 controller = self._instantiate_controller(T, app)
                 self.add_ui_controller(name, controller)
Exemple #2
0
 def add_api_controllers(self, package_name, app):
     """
     Search for UI controllers in `package_name` and add
     them to the webapp.
     """
     from galaxy.webapps.base.controller import BaseAPIController
     for name, module in base.walk_controller_modules(package_name):
         for key in dir(module):
             T = getattr(module, key)
             # Exclude classes such as BaseAPIController and BaseTagItemsController
             if inspect.isclass(T) and not key.startswith("Base") and issubclass(T, BaseAPIController):
                 # By default use module_name, but allow controller to override name
                 controller_name = getattr(T, "controller_name", name)
                 controller = self._instantiate_controller(T, app)
                 self.add_api_controller(controller_name, controller)
Exemple #3
0
def include_all_package_routers(app: FastAPI, package_name: str):
    for _, module in walk_controller_modules(package_name):
        router = getattr(module, "router", None)
        if router:
            app.include_router(router)