@@ -260,15 +260,23 @@ async def proxy_method(self, *args, **kwargs):
260260 return proxy_method
261261
262262
263- for module_info in pkgutil .walk_packages (base .__path__ ):
264- module_name = f"{ base .__name__ } .{ module_info .name } "
265- module = importlib .import_module (module_name )
266- for submodule_info in pkgutil .walk_packages (module .__path__ ):
267- submodule_name = f"{ module_name } .{ submodule_info .name } "
268- submodule = importlib .import_module (submodule_name )
269- if hasattr (submodule , "asyncio" ):
270- AsyncClient ._add_proxy_method (
271- submodule_info .name , submodule .asyncio
272- )
273- if hasattr (submodule , "sync" ):
274- Client ._add_proxy_method (submodule_info .name , submodule .sync )
263+ for module_info in pkgutil .walk_packages (path = base .__path__ , prefix = f"{ base .__name__ } ." ):
264+ try :
265+ if not module_info .ispkg :
266+ continue
267+
268+ module = importlib .import_module (module_info .name )
269+ sub_prefix = f"{ module .__name__ } ."
270+ for submodule_info in pkgutil .walk_packages (path = module .__path__ , prefix = sub_prefix ):
271+ submodule = importlib .import_module (submodule_info .name )
272+ if hasattr (submodule , "asyncio" ):
273+ method_name = submodule_info .name .split ('.' )[- 1 ]
274+ AsyncClient ._add_proxy_method (
275+ method_name , submodule .asyncio
276+ )
277+ if hasattr (submodule , "sync" ):
278+ method_name = submodule_info .name .split ('.' )[- 1 ]
279+ Client ._add_proxy_method (method_name , submodule .sync )
280+
281+ except Exception as e :
282+ print (f" ERROR processing { module_info .name } : { e } " )
0 commit comments