def onMediaMessage(self, messageProtocolEntity):
        # just print info
        if messageProtocolEntity.getMediaType() == "image":
            print("[%s] Received image %s to %s" %
                  (str(datetime.now()), messageProtocolEntity.url,
                   messageProtocolEntity.getFrom(False)))
            m = Message.receive(messageProtocolEntity.url,
                                messageProtocolEntity.getFrom(False))
            tasks.push_to_rapidpro.delay([m])

        elif messageProtocolEntity.getMediaType() == "location":
            print("[%s] Received location (%s, %s) to %s" %
                  (str(datetime.now()), messageProtocolEntity.getLatitude(),
                   messageProtocolEntity.getLongitude(),
                   messageProtocolEntity.getFrom(False)))
            m = Message.receive(
                "(%s, %s)" % (messageProtocolEntity.getLatitude(),
                              messageProtocolEntity.getLongitude()),
                messageProtocolEntity.getFrom(False))
            tasks.push_to_rapidpro.delay([m])

        elif messageProtocolEntity.getMediaType() == "vcard":
            print("[%s] Received vcard (%s, %s) to %s" %
                  (str(datetime.now()), messageProtocolEntity.getName(),
                   messageProtocolEntity.getCardData(),
                   messageProtocolEntity.getFrom(False)))
            m = Message.receive(
                "(%s, %s)" % (messageProtocolEntity.getName(),
                              messageProtocolEntity.getCardData()),
                messageProtocolEntity.getFrom(False))
            tasks.push_to_rapidpro.delay([m])

        else:
            print("[%s] Received unsupported message" % datetime.now())
 def onTextMessage(self, messageProtocolEntity):
     print("[%s] Received %s to %s" %
           (str(datetime.now()), messageProtocolEntity.getBody(),
            messageProtocolEntity.getFrom(False)))
     m = Message.receive(messageProtocolEntity.getBody(),
                         messageProtocolEntity.getFrom(False))
     tasks.push_to_rapidpro.delay([m])
    def onMediaMessage(self, messageProtocolEntity):
        # just print info
        if messageProtocolEntity.getMediaType() == "image":
            print("Received image %s to %s" % (messageProtocolEntity.url, messageProtocolEntity.getFrom(False)))
            m = Message.receive(messageProtocolEntity.url, messageProtocolEntity.getFrom(False))
            tasks.push_to_rapidpro.delay([m])

        elif messageProtocolEntity.getMediaType() == "location":
            print("Received location (%s, %s) to %s" % (messageProtocolEntity.getLatitude(), messageProtocolEntity.getLongitude(), messageProtocolEntity.getFrom(False)))
            m = Message.receive("(%s, %s)" % (messageProtocolEntity.getLatitude(), messageProtocolEntity.getLongitude()), messageProtocolEntity.getFrom(False))
            tasks.push_to_rapidpro.delay([m])

        elif messageProtocolEntity.getMediaType() == "vcard":
            print("Received vcard (%s, %s) to %s" % (messageProtocolEntity.getName(), messageProtocolEntity.getCardData(), messageProtocolEntity.getFrom(False)))
            m = Message.receive("(%s, %s)" % (messageProtocolEntity.getName(), messageProtocolEntity.getCardData()), messageProtocolEntity.getFrom(False))
            tasks.push_to_rapidpro.delay([m])

        else:
            print("Received unsupported message")
 def onTextMessage(self,messageProtocolEntity):
     print("Received %s to %s" % (messageProtocolEntity.getBody(), messageProtocolEntity.getFrom(False)))
     m = Message.receive(messageProtocolEntity.getBody(), messageProtocolEntity.getFrom(False))
     tasks.push_to_rapidpro.delay([m])