@@ -100,12 +100,12 @@ async def setup(self):
100100 for outbound_transport in outbound_transports :
101101 self .register (outbound_transport )
102102
103- def register (self , module : str ) -> str :
103+ def register (self , module_name : str ) -> str :
104104 """
105105 Register a new outbound transport by module path.
106106
107107 Args:
108- module : Module name to register
108+ module_name : Module name to register
109109
110110 Raises:
111111 OutboundTransportRegistrationError: If the imported class cannot
@@ -117,13 +117,19 @@ def register(self, module: str) -> str:
117117
118118 """
119119 try :
120+ if "." in module_name :
121+ package , module = module_name .split ("." , 1 )
122+ else :
123+ package = MODULE_BASE_PATH
124+ module = module_name
125+
120126 imported_class = ClassLoader .load_subclass_of (
121- BaseOutboundTransport , module , MODULE_BASE_PATH
127+ BaseOutboundTransport , module , package
122128 )
123- except (ModuleLoadError , ClassNotFoundError ):
129+ except (ModuleLoadError , ClassNotFoundError ) as e :
124130 raise OutboundTransportRegistrationError (
125131 f"Outbound transport module { module } could not be resolved."
126- )
132+ ) from e
127133
128134 return self .register_class (imported_class )
129135
0 commit comments