from clever_brag_adapter import BRAGArgument, CleverBragAmqpAdapter from amqp.config.amq_configuration import AMQConfiguration class R2RApp: pass def create_r2r_app(): return R2RApp() if __name__ == "__main__": # # r2rapp: R2RApp = await create_r2r_app() # # In the standalone test context, need to start the loop as well. In the actual BRAG context, # use 'await' instead. r2rapp: R2RApp = create_r2r_app() adapter: CleverBragAmqpAdapter = CleverBragAmqpAdapter( AMQConfiguration("./application.properties.local"), r2rapp.app.routes, r2rapp.providers.auth, {"app": r2rapp.config.app}, ) for method, routes in adapter.routes.items(): print(f"Method: {method}") for _route in routes: print( f" Route: {_route.path} -> {_route.endpoint.__module__}.{_route.endpoint.__name__}" ) _args = getattr(_route.endpoint, "__annotations__", {}) _verified_args = [] for arg in _args: _arg = BRAGArgument(_args[arg]) _verified_args.append(_arg) print(f" Arguments: {', '.join(map(str, _verified_args))}") print("---------------------------") print("Press ^C to exit...") adapter.thread.join()