def gather()

in uamqp/message.py [0:0]


    def gather(self):
        """Return all the messages represented by this object. This will convert
        the batch data into individual Message objects, which may be one
        or more if multi_messages is set to `True`.

        :rtype: list[~uamqp.message.Message]
        """
        if self._multi_messages:
            return self._multi_message_generator()

        new_message = self._create_batch_message()
        message_size = new_message.get_message_encoded_size() + self.size_offset
        body_size = 0

        for data in self._body_gen:
            message_bytes = None
            try:
                # try to get the internal uamqp Message
                internal_uamqp_message = data.message
            except AttributeError:
                # no inernal message, data could be uamqp Message or raw data
                internal_uamqp_message = data
            try:
                # uamqp Message
                if (
                        not internal_uamqp_message.application_properties
                        and self.application_properties
                ):
                    internal_uamqp_message.application_properties = (
                        self.application_properties
                    )
                message_bytes = internal_uamqp_message.encode_message()
            except AttributeError:  # raw data
                wrap_message = Message(
                    body=internal_uamqp_message,
                    application_properties=self.application_properties,
                )
                message_bytes = wrap_message.encode_message()
            body_size += len(message_bytes)
            if (body_size + message_size) > self.max_message_length:
                raise errors.MessageContentTooLarge()
            new_message._body.append(message_bytes)  # pylint: disable=protected-access
        new_message.on_send_complete = self.on_send_complete
        return [new_message]