def process_action(action: ActionExecuted) -> Optional[OrderedDict]: """Converts a single action into an ordered dict. Args: action: Original action object. Returns: Dict with an action. """ if action.action_name == rasa.shared.core.constants.RULE_SNIPPET_ACTION_NAME: return None result = CommentedMap() if action.action_name: result[KEY_ACTION] = action.action_name elif action.action_text: result[KEY_BOT_END_TO_END_MESSAGE] = action.action_text if hasattr(action, "inline_comment"): if KEY_ACTION in result: result.yaml_add_eol_comment(action.inline_comment(), KEY_ACTION) elif KEY_BOT_END_TO_END_MESSAGE in result: result.yaml_add_eol_comment(action.inline_comment(), KEY_BOT_END_TO_END_MESSAGE) return result
def process_action(action: ActionExecuted) -> Optional[OrderedDict]: """Converts a single action into an ordered dict. Args: action: Original action object. Returns: Dict with an action. """ if action.action_name == rasa.shared.core.constants.RULE_SNIPPET_ACTION_NAME: return None result = CommentedMap() if action.action_name: result[KEY_ACTION] = action.action_name elif action.action_text: result[KEY_BOT_END_TO_END_MESSAGE] = action.action_text if hasattr(action, "inline_comment"): # FIXME: to fix this type issue, WarningPredictedAction needs to # be imported but it's currently outside of `rasa.shared` comment = action.inline_comment() # type: ignore[attr-defined] if KEY_ACTION in result and comment: result.yaml_add_eol_comment(comment, KEY_ACTION) elif KEY_BOT_END_TO_END_MESSAGE in result and comment: result.yaml_add_eol_comment(comment, KEY_BOT_END_TO_END_MESSAGE) return result
def process_action(action: ActionExecuted) -> OrderedDict: """Converts a single action into an ordered dict. Args: action: Original action object. Returns: Dict with an action. """ result = CommentedMap() result[KEY_ACTION] = action.action_name if hasattr(action, "inline_comment"): result.yaml_add_eol_comment(action.inline_comment(), KEY_ACTION) return result