def test(self): session_id = '1234' ussd_request = UssdRequest('1234', '200', '', 'en') self.assertTrue(len(session_id) < 8) self.assertTrue(len(ussd_request.session_id) >= 8)
def post(self, req): list_of_inputs = req.data['text'].split("*") text = "*" if len(list_of_inputs) >= 2 and \ list_of_inputs[-1] == "" and \ list_of_inputs[-2] == "" else list_of_inputs[ -1] if len(req.data['text']) == 0: lang_code = check_subscriber(req.data['phoneNumber']) # config_survey_result(self.survey_id, req.data['sessionId'], req.data['phoneNumber']) create_survey_result_task.delay(self.survey_id, req.data['sessionId'], req.data['phoneNumber']) redis_instance.set(req.data['phoneNumber'], lang_code) session_id = req.data['sessionId'] language = redis_instance.get(req.data['phoneNumber']) if req.data.get('use_built_in_session_management', False): session_id = None ussd_request = UssdRequest( phone_number=req.data['phoneNumber'].strip('+'), session_id=session_id, ussd_input=text, raw_input=req.data['text'], service_code=req.data['serviceCode'], language=language, use_built_in_session_management=req.data.get( 'use_built_in_session_management', False), ) return ussd_request
def test(self): session_id = '1234' ussd_request = UssdRequest( '1234', '200', '', 'en', journey_name="sample_journey", journey_version="sample_customer_journey.yml") self.assertTrue(len(session_id) < 8) self.assertTrue(len(ussd_request.session_id) >= 8) # test creating with session id as None self.assertRaises(InvalidAttribute, UssdRequest, None, '200', '', 'en', journey_name="sample_journey", journey_version="sample_customer_journey.yml") # session_id and using custom session_id can't been defined self.assertRaises(InvalidAttribute, UssdRequest, "sfewevae", "200", "", "en", use_built_in_session_management=True, journey_name="sample_journey", journey_version="sample_customer_journey.yml")
def _create_ussd_request(phone_number): return UssdRequest(None, phone_number, '', 'en', use_built_in_session_management=True, expiry=1)
def post(request): body_unicode = request.body.decode('utf-8') body = json.loads(body_unicode) phoneNumber=body['phoneNumber'] sessionId=body['sessionId'] serviceCode=body['serviceCode'] text=body['text'] ussd_request=UssdRequest(sessionId, phoneNumber, text, 'en', journey_name="myownscreen", journey_version=None) ussd_engine=UssdEngine(ussd_request) ussd_response=ussd_engine.ussd_dispatcher() ussd_response_text=ussd_response.dumps() if ussd_response.status: http_text = 'CON' + ' ' + ussd_response_text phoneresponse = HttpResponse(http_text) else: http_text = 'END' + ' ' + ussd_response_text phoneresponse = HttpResponse(http_text) return phoneresponse
def get(self, req): data = req.GET return UssdRequest( phone_number=data['phoneNumber'].strip('+'), session_id=data['sessionId'], ussd_input=data['text'], language=data.get('language', 'en') )
def _create_ussd_request(phone_number): return UssdRequest(None, phone_number, '', 'en', use_built_in_session_management=True, expiry=2, journey_name='sample_journey', journey_version='sample_customer_journey.yml')
def post(self, req): session_id = req.data.get('session_id') user_input = req.data.get('text') ussd_request = UssdRequest( phone_number=req.data['phoneNumber'].strip('+'), session_id=session_id, ussd_input=user_input, service_code=req.data['serviceCode'], language=req.data.get('language', 'en') ) return ussd_request
def post(self, req): list_of_inputs = req.data['text'].split("*") text = "*" if len(list_of_inputs) >= 2 and list_of_inputs[ -1] == "" and list_of_inputs[-2] == "" else list_of_inputs[-1] ussd_request = UssdRequest( phone_number=req.data['phoneNumber'].strip('+'), session_id=req.data['sessionId'], ussd_input=text, service_code=req.data['serviceCode'], language=req.data.get('language', 'en')) return ussd_request
def send(self, ussd_input, raw=False): payload = { "session_id": self.session_id, "ussd_input": ussd_input, "phone_number": self.phone_number, "language": self.language, } payload.update(self.extra_payload) ussd_request = UssdRequest(**payload) response = UssdEngine(ussd_request).ussd_dispatcher() if raw: return response return str(response)
def post(req): print('req.data = ', req.data) list_of_inputs = req.data['text'].split("*") text = "*" if len(list_of_inputs) >= 2 and list_of_inputs[-1] == "" and list_of_inputs[-2] == "" else \ list_of_inputs[-1] session_id = req.data['sessionId'] if req.data.get('use_built_in_session_management', False): session_id = None ussd_request = UssdRequest( phone_number=req.data['phoneNumber'].strip('+'), session_id=session_id, ussd_input=text, service_code=req.data['serviceCode'], language=req.data.get('language', 'en'), use_built_in_session_management=req.data.get( 'use_built_in_session_management', False)) return ussd_request