@@ -191,7 +191,8 @@ def message_list(self, limit=20, offset=0):
191
191
192
192
def message_create (self , originator , recipients , body , params = None ):
193
193
"""Create a new message."""
194
- if params is None : params = {}
194
+ if params is None :
195
+ params = {}
195
196
if type (recipients ) == list :
196
197
recipients = ',' .join (recipients )
197
198
@@ -233,7 +234,8 @@ def voice_message(self, id):
233
234
234
235
def voice_message_create (self , recipients , body , params = None ):
235
236
"""Create a new voice message."""
236
- if params is None : params = {}
237
+ if params is None :
238
+ params = {}
237
239
if type (recipients ) == list :
238
240
recipients = ',' .join (recipients )
239
241
@@ -242,17 +244,20 @@ def voice_message_create(self, recipients, body, params=None):
242
244
243
245
def lookup (self , phonenumber , params = None ):
244
246
"""Do a new lookup."""
245
- if params is None : params = {}
247
+ if params is None :
248
+ params = {}
246
249
return Lookup ().load (self .request ('lookup/' + str (phonenumber ), 'GET' , params ))
247
250
248
251
def lookup_hlr (self , phonenumber , params = None ):
249
252
"""Retrieve the information of a specific HLR lookup."""
250
- if params is None : params = {}
253
+ if params is None :
254
+ params = {}
251
255
return HLR ().load (self .request ('lookup/' + str (phonenumber ) + '/hlr' , 'GET' , params ))
252
256
253
257
def lookup_hlr_create (self , phonenumber , params = None ):
254
258
"""Perform a new HLR lookup."""
255
- if params is None : params = {}
259
+ if params is None :
260
+ params = {}
256
261
return HLR ().load (self .request ('lookup/' + str (phonenumber ) + '/hlr' , 'POST' , params ))
257
262
258
263
def verify (self , id ):
@@ -261,7 +266,8 @@ def verify(self, id):
261
266
262
267
def verify_create (self , recipient , params = None ):
263
268
"""Create a new verification."""
264
- if params is None : params = {}
269
+ if params is None :
270
+ params = {}
265
271
params .update ({'recipient' : recipient })
266
272
return Verify ().load (self .request ('verify' , 'POST' , params ))
267
273
@@ -278,7 +284,8 @@ def contact(self, id):
278
284
return Contact ().load (self .request ('contacts/' + str (id )))
279
285
280
286
def contact_create (self , phonenumber , params = None ):
281
- if params is None : params = {}
287
+ if params is None :
288
+ params = {}
282
289
params .update ({'msisdn' : phonenumber })
283
290
return Contact ().load (self .request ('contacts' , 'POST' , params ))
284
291
@@ -296,7 +303,8 @@ def group(self, id):
296
303
return Group ().load (self .request ('groups/' + str (id ), 'GET' , None ))
297
304
298
305
def group_create (self , name , params = None ):
299
- if params is None : params = {}
306
+ if params is None :
307
+ params = {}
300
308
params .update ({'name' : name })
301
309
return Group ().load (self .request ('groups' , 'POST' , params ))
302
310
@@ -308,7 +316,8 @@ def group_list(self, limit=10, offset=0):
308
316
return GroupList ().load (self .request ('groups?' + query , 'GET' , None ))
309
317
310
318
def group_update (self , id , name , params = None ):
311
- if params is None : params = {}
319
+ if params is None :
320
+ params = {}
312
321
params .update ({'name' : name })
313
322
self .request_plain_text ('groups/' + str (id ), 'PATCH' , params )
314
323
@@ -383,49 +392,40 @@ def conversation_read_webhook(self, id):
383
392
return ConversationWebhook ().load (self .request (uri , 'GET' , None , CONVERSATION_TYPE ))
384
393
385
394
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 )
388
396
return VoiceRecordingsList ().load (self .request (uri , 'GET' ))
389
397
390
398
def voice_transcription_list (self , call_id , leg_id , recording_id ):
391
399
"""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 )
394
401
return VoiceTranscriptionsList ().load (self .request (uri , 'GET' ))
395
402
396
403
def voice_transcription_download (self , call_id , leg_id , recording_id , transcriptions_file ):
397
404
"""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 )
401
406
return self .request (uri , 'GET' )
402
407
403
408
def voice_transcription_view (self , call_id , leg_id , recording_id , transcriptions_id ):
404
409
"""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 )
408
411
return VoiceTranscriptionsView ().load (self .request (uri , 'GET' ))
409
412
410
413
def voice_transcription_create (self , call_id , leg_id , recording_id , language ):
411
414
"""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 )
414
416
params = {'language' : str (language )}
415
417
return VoiceTranscriptionsView ().load (self .request (uri , 'POST' , params , VOICE_TYPE ))
416
418
417
419
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 )
420
421
recording_response = self .request (uri , 'GET' )
421
422
recording_links = recording_response .get ('_links' )
422
423
if recording_links is not None :
423
424
recording_response ['data' ][0 ]['_links' ] = recording_links
424
425
return VoiceRecording ().load (recording_response ['data' ][0 ])
425
426
426
427
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 )
429
429
recording_response = self .request (uri , 'GET' )
430
430
recording_links = recording_response .get ('_links' )
431
431
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=()):
497
497
498
498
def _format_query (self , limit , offset ):
499
499
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