Beispiel #1
0
def handler(request, identity, text):
    def _str(uni):
        try:
            return str(uni)
        except:
            return uni.encode('utf-8')

    def _plus(str):
        return str.replace('%2B', '+')

    text = urllib.unquote(_str(_plus(text.replace('+', ' '))))

    message = Message(identity=identity, text=text, \
                      status=Message.STATUS_CREATED, \
                      direction=Message.DIRECTION_INCOMING)
    message.save()

    process_incoming_message(message)

    return HttpResponse(u"Thanks %s, the following message " \
                        "have been processed:\n%s" % (identity, text), \
                        mimetype='text/plain', status=202)
Beispiel #2
0
def handler(request, identity, text):
    def _str(uni):
        try:
            return str(uni)
        except:
            return uni.encode("utf-8")

    def _plus(str):
        return str.replace("%2B", "+")

    text = urllib.unquote(_str(_plus(text.replace("+", " "))))

    message = Message(identity=identity, text=text, status=Message.STATUS_CREATED, direction=Message.DIRECTION_INCOMING)
    message.save()

    process_incoming_message(message)

    return HttpResponse(
        u"Thanks %s, the following message " "have been processed:\n%s" % (identity, text),
        mimetype="text/plain",
        status=202,
    )
Beispiel #3
0
    def handle(self, *args, **options):

        translation.activate(settings.DEFAULT_LOCALE)

        logger.info(u"Launching NOSMS main loop")

        incoming = Message.incoming.filter(status=Message.STATUS_CREATED).all()
        if incoming.count() > 0:
            logger.info(u"Dispatching %d unhandled " \
                        u"incoming messages" % incoming.count())
            for message in incoming:
                try:
                    process_incoming_message(message)
                    message.status = Message.STATUS_PROCESSED
                    message.save()
                except:
                    pass

        logger.info(u"Waiting for outgoing message to be sent...")
        while True:
            message = next_message()
            if message:
                logger.info(u"Sending out Message: %s" % message)
                try:
                    process_outgoing_message(message)
                except Exception as e:
                    logger.error(u"Unable to send %s with %r" % (message, e))
                    message.status = Message.STATUS_ERROR
                    message.save()
                else:
                    message.status = Message.STATUS_PROCESSED
                    message.save()
            try:
                time.sleep(2)
            except KeyboardInterrupt:
                break

        translation.deactivate()