def mailbox(request): print request.matched_route.name print request.params digits = request.params['Digits'] url = get_mailbox_url(request.params['Called'], digits) response = twiml.Response() response.gather(method='GET', action=request.route_url('twilio_process_input', numeric='twilio_mailbox')) \ .say(WELCOME_MESSAGE, voice=VOICE_PREFERENCE, loop=2) return Response(str(response))
def mailbox_check(request): print request.matched_route.name print request.params digits = request.params['Digits'] url = get_mailbox_url(request.params['Called'], digits) if url is None: create_mailbox(request.params['Called'], digits) response = twiml.Response() response.gather(method='GET', action=request.route_url('twilio_process_password', mailbox=digits, numeric='twilio_mailbox_record_greeting')) \ .say(MAILBOX_CREATED, voice=VOICE_PREFERENCE) else: response.gather(method='GET', action=request.route_url('twilio_process_input', star=None, numeric='twilio_mailbox_check', _query={'create':True})) \ .say(CREATE_A_MAILBOX, voice=VOICE_PREFERENCE) return Response(str(response))
def process_input(request): print request.matched_route.name print request.params digits = request.params['Digits'] star = request.matchdict['star'] numeric = request.matchdict['numeric'] response = twiml.Response() if digits == '*': response.redirect(request.route_url(star, _query={'Digits':digits}), method='GET') elif is_a_mailbox.match(digits): url = get_mailbox_url(request.params['Called'], digits) if url or request.params.get('create'): response.redirect(request.route_url(numeric, _query={'Digits':digits}), method='GET') else: response.say(NOT_A_VALID_MAILBOX, voice=VOICE_PREFERENCE) response.pause(length=2) response.redirect(request.route_url('twilio_index'), method='GET') else: response.say(ACCOUNT_EXISTS, voice=VOICE_PREFERENCE) response.redirect(request.route_url('twilio_index'), method='GET') return Response(str(response))