Ejemplo n.º 1
0
 def setUp(self):
     super(TextMessageProtocolEntityTest, self).setUp()
     self.ProtocolEntity = TextMessageProtocolEntity
     m = Message()
     m.conversation = "body_data"
     proto_node = ProtocolTreeNode("proto", {}, None, m.SerializeToString())
     self.node.addChild(proto_node)
Ejemplo n.º 2
0
 def fromProtocolTreeNode(cls, node):
     entity = MessageProtocolEntity.fromProtocolTreeNode(node)
     entity.__class__ = cls
     m = Message()
     m.ParseFromString(node.getChild("proto").getData())
     entity.message_attributes = AttributesConverter.get().proto_to_message(
         m)
     return entity
 def setUp(self):
     super(ContactMediaMessageProtocolEntityTest, self).setUp()
     self.ProtocolEntity = ContactMediaMessageProtocolEntity
     m = Message()
     contact_message = Message.ContactMessage()
     contact_message.display_name = "abc"
     contact_message.vcard = b"VCARD_DATA"
     m.contact_message.MergeFrom(contact_message)
     proto_node = self.node.getChild("proto")
     proto_node["mediatype"] = "contact"
     proto_node.setData(m.SerializeToString())
Ejemplo n.º 4
0
 def setUp(self):
     super(AudioDownloadableMediaMessageProtocolEntityTest, self).setUp()
     self.ProtocolEntity = AudioDownloadableMediaMessageProtocolEntity
     proto_node = self.node.getChild("proto")
     m = Message()
     media_message = Message.AudioMessage()
     media_message.url = "url"
     media_message.mimetype = "audio/ogg"
     media_message.file_sha256 = b"SHA256"
     media_message.file_length = 123
     media_message.media_key = b"MEDIA_KEY"
     media_message.seconds = 24
     media_message.ptt = True
     m.audio_message.MergeFrom(media_message)
     proto_node.setData(m.SerializeToString())
Ejemplo n.º 5
0
    def setUp(self):
        super(LocationMediaMessageProtocolEntityTest, self).setUp()
        self.ProtocolEntity = LocationMediaMessageProtocolEntity

        m = Message()
        location_message = Message.LocationMessage()
        location_message.degrees_latitude = 30.089037
        location_message.degrees_longitude = 31.319488
        location_message.name = "kaos"
        location_message.url = "kaos_url"

        m.location_message.MergeFrom(location_message)

        proto_node = self.node.getChild("proto")
        proto_node["mediatype"] = "location"
        proto_node.setData(m.SerializeToString())
Ejemplo n.º 6
0
 def serializeSenderKeyDistributionMessageToProtobuf(self, groupId, senderKeyDistributionMessage, message = None):
     m = message or Message()
     m.sender_key_distribution_message.group_id = groupId
     m.sender_key_distribution_message.axolotl_sender_key_distribution_message = senderKeyDistributionMessage.serialize()
     m.sender_key_distribution_message.axolotl_sender_key_distribution_message = senderKeyDistributionMessage.serialize()
     # m.conversation = text
     return m
 def setUp(self):
     super(VideoDownloadableMediaMessageProtocolEntityTest, self).setUp()
     self.ProtocolEntity = VideoDownloadableMediaMessageProtocolEntity
     proto_node = self.node.getChild("proto")
     m = Message()
     media_message = Message.VideoMessage()
     media_message.url = "url"
     media_message.mimetype = "video/mp4"
     media_message.caption = "caption"
     media_message.file_sha256 = b"SHA256"
     media_message.file_length = 123
     media_message.height = 20
     media_message.width = 20
     media_message.media_key = b"MEDIA_KEY"
     media_message.jpeg_thumbnail = b"THUMBNAIL"
     m.video_message.MergeFrom(media_message)
     proto_node.setData(m.SerializeToString())
Ejemplo n.º 8
0
    def serializeContactToProtobuf(self, mediaNode, message = None):
        vcardNode = mediaNode.getChild("vcard")
        m = message or Message()
        contact_message = ContactMessage()
        contact_message.display_name = vcardNode["name"]
        m.vcard = vcardNode.getData()
        m.contact_message.MergeFrom(contact_message)

        return m
Ejemplo n.º 9
0
    def setUp(self):
        super(ExtendedTextMediaMessageProtocolEntityTest, self).setUp()
        self.ProtocolEntity = ExtendedTextMediaMessageProtocolEntity

        m = Message()
        media_message = Message.ExtendedTextMessage()
        media_message.canonical_url = "url"
        media_message.text = "text"
        media_message.matched_text = "matched_text"
        media_message.description = "desc"
        media_message.title = "title"
        media_message.jpeg_thumbnail = b"thumb"
        m.extended_text_message.MergeFrom(media_message)

        proto_node = self.node.getChild("proto")
        proto_node["mediatype"] = "url"
        proto_node.setData(m.SerializeToString())

        self._entity = ExtendedTextMediaMessageProtocolEntity\
            .fromProtocolTreeNode(self.node)  # type: ExtendedTextMediaMessageProtocolEntity
 def setUp(self):
     super(VideoDownloadableMediaMessageProtocolEntityTest, self).setUp()
     self.ProtocolEntity = VideoDownloadableMediaMessageProtocolEntity
     proto_node = self.node.getChild("proto")
     m = Message()
     media_message = Message.VideoMessage()
     media_message.url = "url"
     media_message.mimetype = "video/mp4"
     media_message.caption = "caption"
     media_message.file_sha256 = b"shaval"
     media_message.file_length = 4
     media_message.width = 1
     media_message.height = 2
     media_message.seconds = 3
     media_message.media_key = b"MEDIA_KEY"
     media_message.jpeg_thumbnail = b"THUMBNAIL"
     media_message.gif_attribution = 0
     media_message.gif_playback = False
     media_message.streaming_sidecar = b''
     m.video_message.MergeFrom(media_message)
     proto_node.setData(m.SerializeToString())
Ejemplo n.º 11
0
    def serializeLocationToProtobuf(self, mediaNode, message = None):
        m = message or Message()
        location_message = LocationMessage()
        location_message.degrees_latitude = float(mediaNode["latitude"])
        location_message.degrees_longitude = float(mediaNode["longitude"])
        location_message.address = mediaNode["name"]
        location_message.name = mediaNode["name"]
        location_message.url = mediaNode["url"]

        location_message.jpeg_thumbnail = b''
        m.location_message.MergeFrom(location_message)

        return m
Ejemplo n.º 12
0
    def serializeImageToProtobuf(self, mediaNode, message = None):
        m = message or Message()
        image_message = ImageMessage()
        image_message.url = mediaNode["url"]
        image_message.width = int(mediaNode["width"])
        image_message.height = int(mediaNode["height"])
        image_message.mime_type = mediaNode["mimetype"]
        image_message.media_key = mediaNode["mediakey"]
        image_message.file_sha256 = binascii.unhexlify(mediaNode["filehash"].encode())
        image_message.file_length = int(mediaNode["size"])
        image_message.media_key = binascii.unhexlify(mediaNode["anu"])
        image_message.file_enc_sha256 = binascii.unhexlify(mediaNode["file_enc_sha256"])
        image_message.caption = mediaNode["caption"] or ""
        image_message.jpeg_thumbnail = mediaNode.getData()

        m.image_message.MergeFrom(image_message)

        return m
Ejemplo n.º 13
0
class ProtomessageProtocolEntity(MessageProtocolEntity):
    '''
    <message t="{{TIME_STAMP}}" from="{{CONTACT_JID}}"
        offline="{{OFFLINE}}" type="text" id="{{MESSAGE_ID}}" notify="{{NOTIFY_NAME}}">
            <proto>
                {{SERIALIZE_PROTO_DATA}}
            </proto>
    </message>
    '''
    def __init__(self, messageType, messageAttributes):
        super(ProtomessageProtocolEntity,
              self).__init__(messageType, messageAttributes)
        self._proto = Message()

    def __str__(self):
        out = super(ProtomessageProtocolEntity, self).__str__()
        return "%s\nproto=%s" % (out, self._proto)

    @property
    def proto(self):
        return self._proto

    def deserializeProtoData(self, protoData):
        m = Message()
        m.ParseFromString(protoData)
        return m

    def toProtocolTreeNode(self):
        node = super(ProtomessageProtocolEntity, self).toProtocolTreeNode()
        node.addChild(
            ProtoProtocolEntity(
                self._proto.SerializeToString()).toProtocolTreeNode())

        return node

    def setProtoFromData(self, protoData):
        self._proto = self.deserializeProtoData(protoData)

    @classmethod
    def fromProtocolTreeNode(cls, node):
        entity = MessageProtocolEntity.fromProtocolTreeNode(node)
        entity.__class__ = cls
        entity.setProtoFromData(node.getChild("proto").getData())
        return entity
Ejemplo n.º 14
0
 def deserializeProtoData(self, protoData):
     m = Message()
     m.ParseFromString(protoData)
     return m
Ejemplo n.º 15
0
 def __init__(self, messageType, messageAttributes):
     super(ProtomessageProtocolEntity,
           self).__init__(messageType, messageAttributes)
     self._proto = Message()
Ejemplo n.º 16
0
 def serializeTextToProtobuf(self, node, message = None):
     m = message or Message()
     m.conversation = node.getChild("body").getData()
     return m
Ejemplo n.º 17
0
 def setUp(self):
     super(MediaMessageProtocolEntityTest, self).setUp()
     self.ProtocolEntity = MediaMessageProtocolEntity
     proto_node = ProtocolTreeNode("proto", {"mediatype": "image"}, None,
                                   Message().SerializeToString())
     self.node.addChild(proto_node)