def import_incoming_sms(): """ Loops over all incoming messages in Twilio's logs and adds them to our db. """ try: sms_page = twilio_client.messages.iter(to_=settings.TWILIO_FROM_NUM) for x in sms_page: try: sms, created = SmsInbound.objects.get_or_create( sid=x.sid, time_received=timezone.now() ) if created: sender, s_created = Recipient.objects.get_or_create(number=x.from_) if s_created: sender.first_name = 'Unknown' sender.last_name = 'Person' sender.save() sms.content = x.body sms.time_received = timezone.make_aware(x.date_sent, timezone.get_current_timezone()) sms.sender_name = str(sender) sms.sender_num = x.from_ matched_keyword = Keyword.match(x.body) sms.matched_keyword = str(matched_keyword) sms.matched_colour = Keyword.lookup_colour(x.body) sms.matched_link = Keyword.get_log_link(matched_keyword) sms.save() except Exception as e: print(e) except TwilioRestException as e: if e.code == 20008: return 'test credentials used'
def log_msg_in(p, t, from_pk): from apostello.models import Keyword, SmsInbound, Recipient from_ = Recipient.objects.get(pk=from_pk) matched_keyword = Keyword.match(p['Body'].strip()) SmsInbound.objects.create(sid=p['MessageSid'], content=p['Body'], time_received=t, sender_name=str(from_), sender_num=p['From'], matched_keyword=str(matched_keyword), matched_link=Keyword.get_log_link(matched_keyword), matched_colour=Keyword.lookup_colour(p['Body'].strip())) # check log is consistent: check_log_consistent.delay(0)
def log_msg_in(p, t, from_pk): """Log incoming message.""" from apostello.models import Keyword, SmsInbound, Recipient from_ = Recipient.objects.get(pk=from_pk) matched_keyword = Keyword.match(p['Body'].strip()) SmsInbound.objects.create( sid=p['MessageSid'], content=p['Body'], time_received=t, sender_name=str(from_), sender_num=p['From'], matched_keyword=str(matched_keyword), matched_link=Keyword.get_log_link(matched_keyword), matched_colour=Keyword.lookup_colour(p['Body'].strip())) # check log is consistent: async ('apostello.tasks.check_incoming_log')
def handle_incoming_sms(msg): """Add incoming sms to log.""" sms, created = SmsInbound.objects.get_or_create(sid=msg.sid) if created: check_next_page = True sender, s_created = Recipient.objects.get_or_create(number=msg.from_) if s_created: sender.first_name = 'Unknown' sender.last_name = 'Person' sender.save() sms.content = msg.body sms.time_received = timezone.make_aware( msg.date_created, timezone.get_current_timezone()) sms.sender_name = str(sender) sms.sender_num = msg.from_ matched_keyword = Keyword.match(msg.body) sms.matched_keyword = str(matched_keyword) sms.matched_colour = Keyword.lookup_colour(msg.body) sms.matched_link = Keyword.get_log_link(matched_keyword) sms.save() return check_next_page
def handle_incoming_sms(msg): """Add incoming sms to log.""" sms, created = SmsInbound.objects.get_or_create(sid=msg.sid) if created: check_next_page = True sender, s_created = Recipient.objects.get_or_create(number=msg.from_) if s_created: sender.first_name = 'Unknown' sender.last_name = 'Person' sender.save() sms.content = msg.body sms.time_received = timezone.make_aware( msg.date_created, timezone.get_current_timezone() ) sms.sender_name = str(sender) sms.sender_num = msg.from_ matched_keyword = Keyword.match(msg.body) sms.matched_keyword = str(matched_keyword) sms.matched_colour = Keyword.lookup_colour(msg.body) sms.matched_link = Keyword.get_log_link(matched_keyword) sms.save() return check_next_page
def test_get_log_link_keyword(self, keywords): assert Keyword.get_log_link( keywords['test']) == '/keyword/responses/{0}/'.format( keywords['test'].pk)
def test_get_log_link_str(self, keywords): assert Keyword.get_log_link('test_no_link') == '#'
def test_get_log_link_keyword(self, keywords): assert Keyword.get_log_link( keywords['test'] ) == '/keyword/responses/{0}/'.format(keywords['test'].pk)
def test_get_log_link_keyword(self, keywords): assert Keyword.get_log_link( keywords['test']) == '/keyword/responses/test/'