Ejemplo n.º 1
0
    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__)
Ejemplo n.º 2
0
    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__)