def handle_outbound_message(self, message): if message.payload.get('in_reply_to') and 'content' in message.payload: super(MediaEdgeGSMTransport, self).handle_outbound_message(message) else: msisdn = message['to_addr'].lstrip('+') params = { "USN": self._outbound_url_username, "PWD": self._outbound_url_password, "SmsID": message['message_id'], "PhoneNumber": msisdn, "Operator": get_operator_name(msisdn, self._operator_mappings), "SmsBody": message['content'], } url = '%s?%s' % (self._outbound_url, urlencode(params)) response = yield http_request_full(url, '', method='GET') log.msg("Response: (%s) %r" % (response.code, response.delivered_body)) if response.code == http.OK: yield self.publish_ack(user_message_id=message['message_id'], sent_message_id=message['message_id']) else: yield self.publish_nack(user_message_id=message['message_id'], sent_message_id=message['message_id'], reason='Unexpected response code: %s' % (response.code,))
def handle_outbound_message(self, message): if message.payload.get('in_reply_to') and 'content' in message.payload: super(MediaEdgeGSMTransport, self).handle_outbound_message(message) else: msisdn = message['to_addr'].lstrip('+') params = { "USN": self._outbound_url_username, "PWD": self._outbound_url_password, "SmsID": message['message_id'], "PhoneNumber": msisdn, "Operator": get_operator_name(msisdn, self._operator_mappings), "SmsBody": message['content'], } url = '%s?%s' % (self._outbound_url, urlencode(params)) response = yield http_request_full(url, '', method='GET', agent_class=self.agent_factory) log.msg("Response: (%s) %r" % (response.code, response.delivered_body)) if response.code == http.OK: yield self.publish_ack(user_message_id=message['message_id'], sent_message_id=message['message_id']) else: yield self.publish_nack(user_message_id=message['message_id'], sent_message_id=message['message_id'], reason='Unexpected response code: %s' % (response.code, ))
def test_get_operator_name(self): mapping = {'27': {'2782': 'VODACOM', '2783': 'MTN'}} self.assertEqual('MTN', get_operator_name('27831234567', mapping)) self.assertEqual('VODACOM', get_operator_name('27821234567', mapping)) self.assertEqual('UNKNOWN', get_operator_name('27801234567', mapping))