示例#1
0
 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)
示例#2
0
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')