def store_SMS(message): print >> sys.stderr, "within store SMS" number = create_Number(message) # gets number from incoming SMS numberID = store_Number(number) # creates and stores number as Number object newSMS = SMS(sms_id = message['_id'], body = message['body'].lower(), date = message['date'], number = numberID) newSMS.save() return newSMS
def sms(): if request.method == 'POST': print >> sys.stderr, "Received POST request to /plivo/sms/" # this is how you write messages to yourself in the Apache /var/log/apache2/error.log try: s = SMS(timeAnswered = datetime.datetime.now(), action = 'super text', direction = 'incoming', smsTo = request.form['To'], smsType = request.form['Type'], smsMessageUUID = request.form['MessageUUID'], smsFrom = request.form['From'], smsText = request.form['Text'], ) print >> sys.stderr, s.direction s.save() message = request.form['Text'].lower() #response = showtimeandloc(message) #Dispatcher for the various commands try: response = commands[message[0]](message) except: response = "This was not a valid command. Try @,!,g, or h. H for help." print >> sys.stderr, response caller = request.form['From'] if User.query.filter(User.number == caller).first(): if type(response) == type(dict()): regisUser = User.query.filter(User.number == caller).first() location = response['location'] print >> sys.stderr, location hours = int(response['hours']) print >> sys.stderr, hours timeExpired = datetime.datetime.now() + datetime.timedelta(hours=hours) print >> sys.stderr, timeExpired condition = 'safe' newStatus = Status(location=location,timeEntered=datetime.datetime.now(),timeExpired=timeExpired,condition=condition) newStatus.save() regisUser.status = newStatus regisUser.save() yourStatus = 'We know you are at ' + location + ' for ' + str(hours) + ' hours. Now we are watching you.' send_txt(caller,yourStatus.upper()) elif type(response) == type(str()): send_txt(caller,response.upper(), src=MASTER_NUMBER) else: oops = 'Sorry. Please make sure you enter your status in this format: @ location 4 numberofhours.' send_txt(caller,oops.upper()) else: response = "Welcome to Panoptincon, where we aren't always watching. Your default location is Speke Apartments." timeExpired = datetime.datetime.now() + datetime.timedelta(hours=24) newStatus = Status(location='Speke Apartments',timeEntered=datetime.datetime.now(),timeExpired=timeExpired,condition='safe') newStatus.save() newUser = User(number=caller, status=newStatus, createdAt=datetime.datetime.now(), name=message, isChin=False) newUser.save() send_txt(caller,response.upper(), src=MASTER_NUMBER) except: print >> sys.stderr, str(sys.exc_info()[0]) print >> sys.stderr, str(sys.exc_info()[1]) #entering the gateway where stuff happens! else: return "These aren't the droids you're looking for. Move along, move along."
def send_sms(number, text): sms = SMS() sms.number = number sms.text = text sms.state = SMS.STATE_NEW sms.received = False sms.save() add_processor_jobs(sms)
def recv_sms(): new = False for message in device.get_message_list(): number = message.number date = message.date text = message.text if not SMS.objects.filter(date=date, number=number, text=text).exists(): sms = SMS() sms.number = number sms.text = text sms.date = date sms.state = SMS.STATE_NEW sms.received = False sms.save() add_processor_jobs(sms) new = True device.del_message(message) return new
def sms(): if request.method == 'POST': print >> sys.stderr, "Received POST request to /plivo/sms/" # this is how you write messages to yourself in the Apache /var/log/apache2/error.log try: s = SMS(timeAnswered = datetime.datetime.now(), direction = 'incoming', smsTo = request.form['To'], smsType = request.form['Type'], smsMessageUUID = request.form['MessageUUID'], smsFrom = request.form['From'], smsText = request.form['Text'], ) s.save() send_txt(s.smsFrom,s.smsText.upper()) except: print >> sys.stderr, str(sys.exc_info()[0]) # These write the nature of the error print >> sys.stderr, str(sys.exc_info()[1]) else: return "These aren't the droids you're looking for. Move along, move along."