in src/main.py [0:0]
def main(args: list[str] | None = None):
parser = build_parser()
arguments = parser.parse_args(args)
key = tuple(
getattr(arguments, dest) for dest in ALL_NESTING
if hasattr(arguments, dest)
)
mapping: dict[tuple[str, ...], Callable] = {
(RUN_ACTION,): Run(),
(INIT_VAULT_ACTION,): InitVault(),
(CREATE_SYSTEM_USER_ACTION,): CreateSystemUser(),
(CREATE_INDEXES_ACTION,): CreateIndexes(),
(GENERATE_OPENAPI_ACTION,): GenerateOpenApi(),
(DUMP_PERMISSIONS_ACTION,): DumpPermissions(),
(UPDATE_DEPLOYMENT_RESOURCES_ACTION, ): UpdateDeploymentResources()
}
func = mapping.get(key) or (lambda **kwargs: _LOG.error('Hello'))
for dest in ALL_NESTING:
if hasattr(arguments, dest):
delattr(arguments, dest)
from dotenv import load_dotenv
load_dotenv(verbose=True)
func(**vars(arguments))