def recvMessageStanza(self, node): if node.getAttributeValue("type") == "media": mediaNode = node.getChild("media") if mediaNode: if mediaNode.getAttributeValue("type") == "image": entity = ImageDownloadableMediaMessageProtocolEntity.fromProtocolTreeNode( node) self.toUpper(entity) elif mediaNode.getAttributeValue("type") == "audio": entity = AudioDownloadableMediaMessageProtocolEntity.fromProtocolTreeNode( node) self.toUpper(entity) elif mediaNode.getAttributeValue("type") == "video": entity = VideoDownloadableMediaMessageProtocolEntity.fromProtocolTreeNode( node) self.toUpper(entity) elif mediaNode.getAttributeValue("type") == "document": entity = DocumentDownloadableMediaMessageProtocolEntity.fromProtocolTreeNode( node) self.toUpper(entity) elif mediaNode.getAttributeValue("type") == "location": entity = LocationMediaMessageProtocolEntity.fromProtocolTreeNode( node) self.toUpper(entity) elif mediaNode.getAttributeValue("type") == "vcard": entity = VCardMediaMessageProtocolEntity.fromProtocolTreeNode( node) self.toUpper(entity) else: entity = TextMessageProtocolEntity.fromProtocolTreeNode( node) self.toUpper(entity) else: entity = TextMessageProtocolEntity.fromProtocolTreeNode(node) self.toUpper(entity)
def PTNode_to_TUMessage(node, to_addr): ''' node is ProtocolTreeNode returns TransportUserMessage ''' message = TextMessageProtocolEntity.fromProtocolTreeNode(node) return TransportUserMessage( to_addr=to_addr, from_addr="+" + message.getFrom(False), content=message.getBody().decode("UTF-8"), transport_name='whatsapp', transport_type='whatsapp')