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)
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, )
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()