@@ -191,7 +191,8 @@ def message_list(self, limit=20, offset=0):
191191
192192 def message_create (self , originator , recipients , body , params = None ):
193193 """Create a new message."""
194- if params is None : params = {}
194+ if params is None :
195+ params = {}
195196 if type (recipients ) == list :
196197 recipients = ',' .join (recipients )
197198
@@ -233,7 +234,8 @@ def voice_message(self, id):
233234
234235 def voice_message_create (self , recipients , body , params = None ):
235236 """Create a new voice message."""
236- if params is None : params = {}
237+ if params is None :
238+ params = {}
237239 if type (recipients ) == list :
238240 recipients = ',' .join (recipients )
239241
@@ -242,17 +244,20 @@ def voice_message_create(self, recipients, body, params=None):
242244
243245 def lookup (self , phonenumber , params = None ):
244246 """Do a new lookup."""
245- if params is None : params = {}
247+ if params is None :
248+ params = {}
246249 return Lookup ().load (self .request ('lookup/' + str (phonenumber ), 'GET' , params ))
247250
248251 def lookup_hlr (self , phonenumber , params = None ):
249252 """Retrieve the information of a specific HLR lookup."""
250- if params is None : params = {}
253+ if params is None :
254+ params = {}
251255 return HLR ().load (self .request ('lookup/' + str (phonenumber ) + '/hlr' , 'GET' , params ))
252256
253257 def lookup_hlr_create (self , phonenumber , params = None ):
254258 """Perform a new HLR lookup."""
255- if params is None : params = {}
259+ if params is None :
260+ params = {}
256261 return HLR ().load (self .request ('lookup/' + str (phonenumber ) + '/hlr' , 'POST' , params ))
257262
258263 def verify (self , id ):
@@ -261,7 +266,8 @@ def verify(self, id):
261266
262267 def verify_create (self , recipient , params = None ):
263268 """Create a new verification."""
264- if params is None : params = {}
269+ if params is None :
270+ params = {}
265271 params .update ({'recipient' : recipient })
266272 return Verify ().load (self .request ('verify' , 'POST' , params ))
267273
@@ -278,7 +284,8 @@ def contact(self, id):
278284 return Contact ().load (self .request ('contacts/' + str (id )))
279285
280286 def contact_create (self , phonenumber , params = None ):
281- if params is None : params = {}
287+ if params is None :
288+ params = {}
282289 params .update ({'msisdn' : phonenumber })
283290 return Contact ().load (self .request ('contacts' , 'POST' , params ))
284291
@@ -296,7 +303,8 @@ def group(self, id):
296303 return Group ().load (self .request ('groups/' + str (id ), 'GET' , None ))
297304
298305 def group_create (self , name , params = None ):
299- if params is None : params = {}
306+ if params is None :
307+ params = {}
300308 params .update ({'name' : name })
301309 return Group ().load (self .request ('groups' , 'POST' , params ))
302310
@@ -308,7 +316,8 @@ def group_list(self, limit=10, offset=0):
308316 return GroupList ().load (self .request ('groups?' + query , 'GET' , None ))
309317
310318 def group_update (self , id , name , params = None ):
311- if params is None : params = {}
319+ if params is None :
320+ params = {}
312321 params .update ({'name' : name })
313322 self .request_plain_text ('groups/' + str (id ), 'PATCH' , params )
314323
@@ -383,49 +392,40 @@ def conversation_read_webhook(self, id):
383392 return ConversationWebhook ().load (self .request (uri , 'GET' , None , CONVERSATION_TYPE ))
384393
385394 def voice_recording_list_recordings (self , call_id , leg_id ):
386- uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + \
387- str (leg_id ) + '/' + VOICE_RECORDINGS_PATH
395+ uri = self .generate_voice_calls_url (call_id = call_id , leg_id = leg_id )
388396 return VoiceRecordingsList ().load (self .request (uri , 'GET' ))
389397
390398 def voice_transcription_list (self , call_id , leg_id , recording_id ):
391399 """List voice transcriptions."""
392- uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + \
393- str (leg_id ) + '/' + VOICE_RECORDINGS_PATH + '/' + str (recording_id ) + '/' + VOICE_TRANSCRIPTIONS_PATH
400+ uri = self .generate_voice_calls_url (call_id , leg_id , recording_id )
394401 return VoiceTranscriptionsList ().load (self .request (uri , 'GET' ))
395402
396403 def voice_transcription_download (self , call_id , leg_id , recording_id , transcriptions_file ):
397404 """Download voice transcription file."""
398- uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + \
399- str (leg_id ) + '/' + VOICE_RECORDINGS_PATH + '/' + \
400- str (recording_id ) + '/' + VOICE_TRANSCRIPTIONS_PATH + '/' + str (transcriptions_file )
405+ uri = self .generate_voice_calls_url (call_id , leg_id , recording_id ) + '/' + str (transcriptions_file )
401406 return self .request (uri , 'GET' )
402407
403408 def voice_transcription_view (self , call_id , leg_id , recording_id , transcriptions_id ):
404409 """Get voice transcription data."""
405- uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + \
406- str (leg_id ) + '/' + VOICE_RECORDINGS_PATH + '/' + \
407- str (recording_id ) + '/' + VOICE_TRANSCRIPTIONS_PATH + '/' + str (transcriptions_id )
410+ uri = self .generate_voice_calls_url (call_id , leg_id , recording_id ) + '/' + str (transcriptions_id )
408411 return VoiceTranscriptionsView ().load (self .request (uri , 'GET' ))
409412
410413 def voice_transcription_create (self , call_id , leg_id , recording_id , language ):
411414 """Create a voice transcription."""
412- uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + \
413- str (leg_id ) + '/' + VOICE_RECORDINGS_PATH + '/' + str (recording_id ) + '/' + VOICE_TRANSCRIPTIONS_PATH
415+ uri = self .generate_voice_calls_url (call_id , leg_id , recording_id )
414416 params = {'language' : str (language )}
415417 return VoiceTranscriptionsView ().load (self .request (uri , 'POST' , params , VOICE_TYPE ))
416418
417419 def voice_recording_view (self , call_id , leg_id , recording_id ):
418- uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + str (
419- leg_id ) + '/' + VOICE_RECORDINGS_PATH + '/' + str (recording_id )
420+ uri = self .generate_voice_calls_url (call_id = call_id , leg_id = leg_id ) + '/' + str (recording_id )
420421 recording_response = self .request (uri , 'GET' )
421422 recording_links = recording_response .get ('_links' )
422423 if recording_links is not None :
423424 recording_response ['data' ][0 ]['_links' ] = recording_links
424425 return VoiceRecording ().load (recording_response ['data' ][0 ])
425426
426427 def voice_recording_download (self , call_id , leg_id , recording_id ):
427- uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + str (
428- leg_id ) + '/' + VOICE_RECORDINGS_PATH + '/' + str (recording_id )
428+ uri = self .generate_voice_calls_url (call_id = call_id , leg_id = leg_id ) + '/' + str (recording_id )
429429 recording_response = self .request (uri , 'GET' )
430430 recording_links = recording_response .get ('_links' )
431431 if recording_links is None or recording_links .get ('file' ) is None :
@@ -497,3 +497,11 @@ def call_flow_numbers_add(self, call_flow_id, numbers=()):
497497
498498 def _format_query (self , limit , offset ):
499499 return 'limit=' + str (limit ) + '&offset=' + str (offset )
500+
501+ @staticmethod
502+ def generate_voice_calls_url (call_id = None , leg_id = None , recording_id = None ):
503+ uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/'
504+ uri += str (call_id ) + '/' + VOICE_LEGS_PATH + '/' + str (leg_id ) + '/' + VOICE_RECORDINGS_PATH
505+ if recording_id :
506+ uri += '/' + str (recording_id ) + '/' + VOICE_TRANSCRIPTIONS_PATH
507+ return uri
0 commit comments