Example #1
0
def receive(request):
	sys.stderr.flush()
	try:
		if request.method == "POST":
			sender = request.POST['source']
			message = request.POST['message']
			network = request.POST['network']
			messageID = request.POST['messageId']
			received = tasks.incoming_message(sender, message, network)
			http = "%s sent \"%s\" on %s (%s) -- Received: %s"%(sender,message,network,messageID,received)
			print >> sys.stderr, http
			sys.stderr.flush()
			return HttpResponse(http)
		else:
			print >> sys.stderr, "SHUJAA GET RECIEVE"
			sys.stderr.flush()
			return HttpResponse("Please use post")
	except Exception as e:
		print >> sys.stderr, "Shujaa Recieve",e
		sys.stderr.flush()
Example #2
0
def smssync(request):
    try:
        with transaction.commit_on_success():
            secret = settings.SMSSYNC_SECRET
            payload = {
                "secret": secret,
            }

            if request.method == 'POST':
                sender = request.POST['from']
                msg = request.POST['message']
                print >> sys.stderr, "{sender}: {msg}".format(sender=sender, msg=msg)
                sys.stderr.flush()
                payload['success'] = "true" if incoming_message(sender, msg) else "false"
            else:
                print >> sys.stderr, "GET!?"
                sys.stderr.flush()

            outgoing_messages = SMSSyncOutgoing.objects.all()
            if len(outgoing_messages) > 0:
                payload['task'] = "send"
                messages = [{
                    "to": msg.target,
                    "message": msg.content,
                } for msg in outgoing_messages]

                if ('HTTP_USER_AGENT' not in request.META
                        or 'SMSSync' in request.META['HTTP_USER_AGENT']):
                    outgoing_messages.delete()
                payload['messages'] = messages

            reply = {
                "payload": payload
            }
            return HttpResponse(simplejson.dumps(reply), mimetype="application/json")
    except Exception as e:
        print >> sys.stderr, "Exception: {e}".format(e=e)
        sys.stderr.flush()