Spaces:
Running
Running
| from loguru import logger | |
| from langflow.custom import Component | |
| from langflow.io import MessageInput, Output | |
| from langflow.schema import Data | |
| from langflow.schema.message import Message | |
| class MessageToDataComponent(Component): | |
| display_name = "Message to Data" | |
| description = "Convert a Message object to a Data object" | |
| icon = "message-square-share" | |
| beta = True | |
| name = "MessagetoData" | |
| inputs = [ | |
| MessageInput( | |
| name="message", | |
| display_name="Message", | |
| info="The Message object to convert to a Data object", | |
| ), | |
| ] | |
| outputs = [ | |
| Output(display_name="Data", name="data", method="convert_message_to_data"), | |
| ] | |
| def convert_message_to_data(self) -> Data: | |
| if isinstance(self.message, Message): | |
| # Convert Message to Data | |
| return Data(data=self.message.data) | |
| msg = "Error converting Message to Data: Input must be a Message object" | |
| logger.opt(exception=True).debug(msg) | |
| self.status = msg | |
| return Data(data={"error": msg}) | |