コード例 #1
0
    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)
コード例 #2
0
ファイル: views.py プロジェクト: Belendia/flare-server
    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
コード例 #3
0
    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")
コード例 #4
0
 def _create_ussd_request(phone_number):
     return UssdRequest(None,
                        phone_number,
                        '',
                        'en',
                        use_built_in_session_management=True,
                        expiry=1)
コード例 #5
0
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
コード例 #6
0
ファイル: views.py プロジェクト: shadrack1/UssdDemo
 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')
     )
コード例 #7
0
 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')
コード例 #8
0
    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
コード例 #9
0
ファイル: views.py プロジェクト: shadrack1/UssdDemo
    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
コード例 #10
0
                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)
コード例 #11
0
    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