本文整理汇总了Python中tropo.Tropo.reject方法的典型用法代码示例。如果您正苦于以下问题:Python Tropo.reject方法的具体用法?Python Tropo.reject怎么用?Python Tropo.reject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tropo.Tropo
的用法示例。
在下文中一共展示了Tropo.reject方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ivr_in
# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import reject [as 别名]
def ivr_in(request):
"""
Handles tropo call requests
"""
if request.method == "POST":
data = json.loads(request.body)
phone_number = data["session"]["from"]["id"]
# TODO: Implement tropo as an ivr backend. In the meantime, just log the call.
if phone_number:
cleaned_number = strip_plus(phone_number)
v = VerifiedNumber.by_extensive_search(cleaned_number)
else:
v = None
# Save the call entry
msg = CallLog(
phone_number=cleaned_number,
direction=INCOMING,
date=datetime.utcnow(),
backend_api=SQLTropoBackend.get_api_id(),
)
if v is not None:
msg.domain = v.domain
msg.couch_recipient_doc_type = v.owner_doc_type
msg.couch_recipient = v.owner_id
msg.save()
t = Tropo()
t.reject()
return HttpResponse(t.RenderJson())
else:
return HttpResponseBadRequest("Bad Request")
示例2: ivr_in
# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import reject [as 别名]
def ivr_in(request):
"""
Handles tropo call requests
"""
if request.method == "POST":
data = json.loads(request.raw_post_data)
phone_number = data["session"]["from"]["id"]
#
incoming_call(phone_number, TROPO_BACKEND_API_ID)
#
t = Tropo()
t.reject()
return HttpResponse(t.RenderJson())
else:
return HttpResponseBadRequest("Bad Request")
示例3: ivr_in
# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import reject [as 别名]
def ivr_in(request):
"""
Handles tropo call requests
"""
if request.method == "POST":
data = json.loads(request.raw_post_data)
phone_number = data["session"]["from"]["id"]
####
# TODO: Implement tropo as an ivr backend. In the meantime, just log the call.
cleaned_number = phone_number
if cleaned_number is not None and len(cleaned_number) > 0 and cleaned_number[0] == "+":
cleaned_number = cleaned_number[1:]
# Try to look up the verified number entry
v = VerifiedNumber.view("sms/verified_number_by_number",
key=cleaned_number,
include_docs=True
).one()
# If none was found, try to match only the last digits of numbers in the database
if v is None:
v = VerifiedNumber.view("sms/verified_number_by_suffix",
key=cleaned_number,
include_docs=True
).one()
# Save the call entry
msg = CallLog(
phone_number = cleaned_number,
direction = INCOMING,
date = datetime.utcnow(),
backend_api = TropoBackend.get_api_id(),
)
if v is not None:
msg.domain = v.domain
msg.couch_recipient_doc_type = v.owner_doc_type
msg.couch_recipient = v.owner_id
msg.save()
####
t = Tropo()
t.reject()
return HttpResponse(t.RenderJson())
else:
return HttpResponseBadRequest("Bad Request")
示例4: test_reject
# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import reject [as 别名]
def test_reject(self):
"""
Test the "reject" Tropo class method.
"""
tropo = Tropo()
tropo.reject()
rendered = tropo.RenderJson()
pretty_rendered = tropo.RenderJson(pretty=True)
print "===============test_reject================="
print "render json: %s" % pretty_rendered
print "Want %s" % tropo.RenderJson()
rendered_obj = jsonlib.loads(rendered)
wanted_json = '{"tropo": [{"reject": {}}]}'
wanted_obj = jsonlib.loads(wanted_json)
# print "test_reject: %s" % tropo.RenderJson()
self.assertEqual(rendered_obj, wanted_obj)
示例5: CallResponse
# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import reject [as 别名]
#.........这里部分代码省略.........
def conference(self, start_recording=False, *args, **kwargs):
if self.provider.name == "Twilio":
if start_recording:
dial = self.response_object.addDial(record=True, action='%s/comm/recording_handler/call/%s/' % (resources.COMM_DOMAIN, kwargs['conference_id']))
else:
dial = self.response_object.addDial()
startConferenceOnEnter = True if 'start_now' in kwargs and kwargs['start_now'] else False #Sometimes we want this joiner to start the conference. Sometimes not.
command = dial.addConference(kwargs['conference_id'], startConferenceOnEnter=startConferenceOnEnter)
comm_logger.info('Telling Twilio: %s' % dial)
return command
if self.provider.name == "Tropo":
self.response_object.on("hangup", next="/comm/handle_hangup/%s/%s/" % (kwargs['conference_id'], kwargs['number'].id))
if 'record' in kwargs and kwargs['record']:
self.response_object.startRecording('%s/comm/recording_handler/call/%s/' % (resources.COMM_DOMAIN, kwargs['conference_id']), format="audio/mp3")
return self.response_object.conference(kwargs['conference_id'], allowSignals=['leaveConference',], *args, **kwargs)
def conference_holding_pattern(self, conference_id, number_object, hold_music):
'''
Put someone on hold, perparing them for a conference. During their hold, play the hold music.
'''
if self.provider.name == "Twilio":
dial = self.response_object.addDial()
reactor.callFromThread(twilio_deferred_voicemail_determination, conference_id, 30)
return dial.addConference(conference_id)#TODO: waitUrl=hold_music)
if self.provider.name == "Tropo":
#First we add the hold music, allowing for the "exithold" signal to end it.
self.response_object.say(hold_music, allowSignals=["joinConference", "goToVoiceMail", "incomplete"])
self.response_object.on("hangup", next="/comm/handle_hangup/%s/%s/" % (conference_id, number_object.id))
self.response_object.on('joinConference', next="/comm/simply_join_conference/%s/%s/" % (conference_id, number_object.id))
self.response_object.on('goToVoiceMail', next="/comm/voicemail/")
reactor.callFromThread(send_deferred_tropo_signal, conference_id, 'goToVoiceMail', 40) #How to test this?
def join_and_begin_conference(self, conference_id, number, *args, **kwargs):
'''
Join the user to a conference that started with a holding pattern and begin the conference.
'''
comm_logger.info('%s is beginning conference %s', number, conference_id)
conference_kwargs = {'conference_id':conference_id, 'number':number}
if self.provider.name == "Twilio":
conference_kwargs['start_now'] = True
if self.provider.name == "Tropo":
reactor.callFromThread(send_deferred_tropo_signal, conference_id, 'joinConference', 0)
self.conference(start_recording=True, **conference_kwargs)
return True #We can't know anything meaningful because we aren't going to wait around for the signal.
def on(self, *args, **kwargs):
if self.provider.name == "Twilio":
raise NotImplementedError("Twilio does not offer an equivalent to Tropo's .on() method.")
if self.provider.name == "Tropo":
return self.response_object.on(*args, **kwargs)
def call(self, *args, **kwargs):
if self.provider.name == "Twilio":
raise NotImplementedError("Twilio does not offer an equivalent to Tropo's .call() method.")
if self.provider.name == "Tropo":
if 'caller_id' in kwargs:
kwargs['from'] = kwargs['caller_id'] #Why Tropo, do you think it's acceptable to use a python command (from) in your lib?
return self.response_object.call(*args, **kwargs)
def ask(self, *args, **kwargs):
if self.provider.name == "Twilio":
raise NotImplementedError("We're getting there..")
if self.provider.name == "Tropo":
return self.response_object.ask(*args, **kwargs)
def prompt_and_record(self, recording_object=None, prompt=None, transcribe=False, *args, **kwargs):
recording_url_args = ("recording" if recording_object else "call", recording_object.id if recording_object else int(kwargs['call_id']))
if self.provider.name == "Twilio":
self.response_object.say(prompt)
recording_kwargs = {}
recording_kwargs['action'] = "%s/comm/recording_handler/%s/%s/" % ((resources.COMM_DOMAIN,) + recording_url_args)
recording_kwargs['timeout'] = 20
if transcribe:
recording_kwargs['transcribe'] = True
recording_kwargs['transcribeCallback'] = "%s/comm/transcription_handler/%s/%s/" % ((resources.COMM_DOMAIN,) + recording_url_args)
self.response_object.record(**recording_kwargs)
if self.provider.name == "Tropo":
recording_kwargs = {}
recording_kwargs['say'] = prompt
recording_kwargs['url'] = "%s/comm/recording_handler/%s/%s/" % ((resources.COMM_DOMAIN,) + recording_url_args)
if transcribe:
recording_kwargs['transcription'] = {'id':kwargs['call_id'], "url":"%s/comm/transcription_handler/%s/%s/" % ((resources.COMM_DOMAIN,) + recording_url_args)}
self.response_object.record(**recording_kwargs)
def reject(self):
if self.provider.name == "Twilio":
self.response_object.reject()
else:
raise NotImplementedError("Twilio only for the moment.")
def hangup(self, *args, **kwargs):
self.response_object.hangup(*args, **kwargs)
示例6: Say
# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import reject [as 别名]
tropo.ask("[5 digits]",
say = Say("Please enter a 5 digit zip code").json)
tropo.call (TO)
tropo.conference(ID)
tropo.hangup()
tropo.message ("Hello, World", TO)
tropo.on(event="continue",
next="http://example.com/weather.py",
say="Please hold.")
tropo.record(say="Please say something for posterity",
url=URL,
choices = Choices("", terminator="#").json)
tropo.redirect(ID)
tropo.reject(ID)
tropo.startRecording(URL)
tropo.stopRecording()
tropo.transfer(TO)
tropo.message("Hello, World",
TO,
channel='TEXT',
network='SMS')
else:
unittest.main()