diff --git a/src/risotto/dispatcher.py b/src/risotto/dispatcher.py index 9f062e6..6b8d740 100644 --- a/src/risotto/dispatcher.py +++ b/src/risotto/dispatcher.py @@ -394,10 +394,9 @@ class Dispatcher(register.RegisterDispatcher, ) -> Optional[Dict]: # so send the message function = function_obj['function'] - submodule_name = function_obj['module'] + risotto_context.module = function_obj['module'].split('.', 1)[0] function_name = function.__name__ - risotto_context.module = submodule_name.split('.', 1)[0] - info_msg = _(f'in module {submodule_name}.{function_name}') + info_msg = _(f"in function {function_obj['full_module_name']}.{function_name}") # build argument for this function if risotto_context.type == 'rpc': kw = config_arguments diff --git a/src/risotto/register.py b/src/risotto/register.py index c03275e..90b5023 100644 --- a/src/risotto/register.py +++ b/src/risotto/register.py @@ -199,7 +199,8 @@ class RegisterDispatcher: raise RegistrationError(_(f'the message {message} not exists')) # xxx submodule can only be register with v1.yyy.xxx..... message - risotto_module_name, submodule_name = function.__module__.split('.')[-3:-1] + full_module_name = function.__module__ + risotto_module_name, submodule_name = full_module_name.split('.')[-3:-1] module_name = risotto_module_name.split('_')[-1] message_module, message_submodule, message_name = message.split('.', 2) if message_module not in self.risotto_modules: @@ -224,6 +225,7 @@ class RegisterDispatcher: register(version, message, f'{module_name}.{submodule_name}', + full_module_name, function, function_args, notification, @@ -233,11 +235,13 @@ class RegisterDispatcher: version: str, message: str, module_name: str, + full_module_name: str, function: Callable, function_args: list, notification: Optional[str], ): self.messages[version][message]['module'] = module_name + self.messages[version][message]['full_module_name'] = full_module_name self.messages[version][message]['function'] = function self.messages[version][message]['arguments'] = function_args if notification: @@ -247,6 +251,7 @@ class RegisterDispatcher: version: str, message: str, module_name: str, + full_module_name: str, function: Callable, function_args: list, notification: Optional[str], @@ -255,8 +260,10 @@ class RegisterDispatcher: self.messages[version][message]['functions'] = [] dico = {'module': module_name, + 'full_module_name': full_module_name, 'function': function, - 'arguments': function_args} + 'arguments': function_args, + } if notification and notification: dico['notification'] = notification self.messages[version][message]['functions'].append(dico) @@ -309,7 +316,7 @@ class RegisterDispatcher: risotto_context.type = None risotto_context.connection = connection risotto_context.module = submodule_name.split('.', 1)[0] - info_msg = _(f'in module risotto_{submodule_name}.on_join') + info_msg = _(f'in function risotto_{submodule_name}.on_join') await log.info_msg(risotto_context, None, info_msg)