def add(self, message): """add a MessageElement to the queue Strings can be passed and are automatically converted in to item.Text() :param message: An element to add to the message queue. :type message: Message, MessageElement, str """ if self._is_stringable(message) or self._is_qstring(message): self.message.append(Text(message)) elif isinstance(message, MessageElement): self.message.append(message) elif isinstance(message, Message): self.message.extend(message.message) else: raise InvalidMessageItemError(message, message.__class__)
def _to_message_element(self, element): """ Args: element the element to be checked and if necessary converted Returns: the correct element Raises: Errors are propagated """ if element is None: return None elif self._is_stringable(element) or self._is_qstring(element): return Text(element) elif isinstance(element, MessageElement): return element else: raise InvalidMessageItemError(element, element.__class__)