vobiz-python 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. vobiz/__init__.py +4 -0
  2. vobiz/base.py +237 -0
  3. vobiz/exceptions.py +34 -0
  4. vobiz/resources/__init__.py +12 -0
  5. vobiz/resources/accounts.py +59 -0
  6. vobiz/resources/applications.py +138 -0
  7. vobiz/resources/calls_vobiz.py +206 -0
  8. vobiz/resources/cdrs.py +46 -0
  9. vobiz/resources/credentials.py +104 -0
  10. vobiz/resources/endpoints.py +101 -0
  11. vobiz/resources/ip_access_control_lists.py +100 -0
  12. vobiz/resources/numbers.py +134 -0
  13. vobiz/resources/origination_uris.py +109 -0
  14. vobiz/resources/recordings.py +91 -0
  15. vobiz/resources/sip_trunks.py +99 -0
  16. vobiz/resources/subaccounts.py +101 -0
  17. vobiz/rest/__init__.py +2 -0
  18. vobiz/rest/client.py +277 -0
  19. vobiz/utils/__init__.py +72 -0
  20. vobiz/utils/interactive.py +50 -0
  21. vobiz/utils/jwt.py +97 -0
  22. vobiz/utils/location.py +6 -0
  23. vobiz/utils/signature_v3.py +111 -0
  24. vobiz/utils/template.py +50 -0
  25. vobiz/utils/validators.py +280 -0
  26. vobiz/version.py +2 -0
  27. vobiz/xml/ConferenceElement.py +485 -0
  28. vobiz/xml/DTMFElement.py +41 -0
  29. vobiz/xml/DialElement.py +371 -0
  30. vobiz/xml/MultiPartyCallElement.py +711 -0
  31. vobiz/xml/ResponseElement.py +414 -0
  32. vobiz/xml/VobizXMLElement.py +48 -0
  33. vobiz/xml/__init__.py +31 -0
  34. vobiz/xml/breakElement.py +62 -0
  35. vobiz/xml/contElement.py +190 -0
  36. vobiz/xml/emphasisElement.py +174 -0
  37. vobiz/xml/getDigitsElement.py +294 -0
  38. vobiz/xml/getInputElement.py +369 -0
  39. vobiz/xml/hangupElement.py +57 -0
  40. vobiz/xml/langElement.py +197 -0
  41. vobiz/xml/messageElement.py +115 -0
  42. vobiz/xml/numberElement.py +77 -0
  43. vobiz/xml/pElement.py +164 -0
  44. vobiz/xml/phonemeElement.py +62 -0
  45. vobiz/xml/playElement.py +41 -0
  46. vobiz/xml/preAnswerElement.py +148 -0
  47. vobiz/xml/prosodyElement.py +227 -0
  48. vobiz/xml/recordElement.py +337 -0
  49. vobiz/xml/redirectElement.py +42 -0
  50. vobiz/xml/sElement.py +154 -0
  51. vobiz/xml/sayAsElement.py +61 -0
  52. vobiz/xml/speakElement.py +249 -0
  53. vobiz/xml/streamElement.py +123 -0
  54. vobiz/xml/subElement.py +43 -0
  55. vobiz/xml/userElement.py +79 -0
  56. vobiz/xml/wElement.py +144 -0
  57. vobiz/xml/waitElement.py +93 -0
  58. vobiz/xml/xmlUtils.py +6 -0
  59. vobiz_python-0.1.0.dist-info/METADATA +640 -0
  60. vobiz_python-0.1.0.dist-info/RECORD +63 -0
  61. vobiz_python-0.1.0.dist-info/WHEEL +5 -0
  62. vobiz_python-0.1.0.dist-info/licenses/LICENSE.txt +19 -0
  63. vobiz_python-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,371 @@
1
+ from vobiz.utils.validators import *
2
+ from vobiz.xml import (
3
+ VobizXMLElement,
4
+ map_type,
5
+ NumberElement,
6
+ UserElement
7
+ )
8
+
9
+
10
+ class DialElement(VobizXMLElement):
11
+ _name = 'Dial'
12
+ _nestable = ['User', 'Number']
13
+
14
+ @property
15
+ def action(self):
16
+ return self.__action
17
+
18
+ @action.setter
19
+ def action(self, value):
20
+ self.__action = str(value) if value is not None else None
21
+
22
+ @validate_args(
23
+ value=[of_type(str)],
24
+ )
25
+ def set_action(self, value):
26
+ self.action = value
27
+ return self
28
+
29
+ @property
30
+ def method(self):
31
+ return self.__method
32
+
33
+ @method.setter
34
+ def method(self, value):
35
+ self.__method = str(value) if value is not None else None
36
+
37
+ @validate_args(
38
+ value=[of_type(str)],
39
+ )
40
+ def set_method(self, value):
41
+ self.method = value
42
+ return self
43
+
44
+ @property
45
+ def hangup_on_star(self):
46
+ return self.__hangup_on_star
47
+
48
+ @hangup_on_star.setter
49
+ def hangup_on_star(self, value):
50
+ self.__hangup_on_star = bool(value) if value is not None else None
51
+
52
+ @validate_args(
53
+ value=[of_type_exact(bool)],
54
+ )
55
+ def set_hangup_on_star(self, value):
56
+ self.hangup_on_star = value
57
+ return self
58
+
59
+ @property
60
+ def time_limit(self):
61
+ return self.__time_limit
62
+
63
+ @time_limit.setter
64
+ def time_limit(self, value):
65
+ self.__time_limit = int(value) if value is not None else None
66
+
67
+ @validate_args(
68
+ value=[of_type(int)],
69
+ )
70
+ def set_time_limit(self, value):
71
+ self.time_limit = value
72
+ return self
73
+
74
+ @property
75
+ def timeout(self):
76
+ return self.__timeout
77
+
78
+ @timeout.setter
79
+ def timeout(self, value):
80
+ self.__timeout = int(value) if value is not None else None
81
+
82
+ @validate_args(
83
+ value=[of_type(int)],
84
+ )
85
+ def set_timeout(self, value):
86
+ self.timeout = value
87
+ return self
88
+
89
+ @property
90
+ def caller_id(self):
91
+ return self.__caller_id
92
+
93
+ @caller_id.setter
94
+ def caller_id(self, value):
95
+ self.__caller_id = str(value) if value is not None else None
96
+
97
+ @validate_args(
98
+ value=[of_type(str)],
99
+ )
100
+ def set_caller_id(self, value):
101
+ self.caller_id = value
102
+ return self
103
+
104
+ @property
105
+ def caller_name(self):
106
+ return self.__caller_name
107
+
108
+ @caller_name.setter
109
+ def caller_name(self, value):
110
+ self.__caller_name = str(
111
+ value) if value is not None else None
112
+
113
+ @validate_args(
114
+ value=[of_type(str)],
115
+ )
116
+ def set_caller_name(self, value):
117
+ self.caller_name = value
118
+ return self
119
+
120
+ @property
121
+ def confirm_sound(self):
122
+ return self.__confirm_sound
123
+
124
+ @confirm_sound.setter
125
+ def confirm_sound(self, value):
126
+ self.__confirm_sound = str(
127
+ value) if value is not None else None
128
+
129
+ @validate_args(
130
+ value=[of_type(str)],
131
+ )
132
+ def set_confirm_sound(self, value):
133
+ self.confirm_sound = value
134
+ return self
135
+
136
+ @property
137
+ def confirm_timeout(self):
138
+ return self.confirm_timeout
139
+
140
+ @confirm_timeout.setter
141
+ def confirm_timeout(self, value):
142
+ self.confirm_timeout = str(
143
+ value) if value is not None else None
144
+
145
+ @validate_args(
146
+ value=[of_type(str)],
147
+ )
148
+ def confirm_timeout(self, value):
149
+ self.confirm_timeout = value
150
+ return self
151
+
152
+ @property
153
+ def confirm_key(self):
154
+ return self.__confirm_key
155
+
156
+ @confirm_key.setter
157
+ def confirm_key(self, value):
158
+ self.__confirm_key = str(
159
+ value) if value is not None else None
160
+
161
+ @validate_args(
162
+ value=[of_type(str)],
163
+ )
164
+ def set_confirm_key(self, value):
165
+ self.confirm_key = value
166
+ return self
167
+
168
+ @property
169
+ def dial_music(self):
170
+ return self.__dial_music
171
+
172
+ @dial_music.setter
173
+ def dial_music(self, value):
174
+ self.__dial_music = str(value) if value is not None else None
175
+
176
+ @validate_args(
177
+ value=[of_type(str)],
178
+ )
179
+ def set_dial_music(self, value):
180
+ self.dial_music = value
181
+ return self
182
+
183
+ @property
184
+ def callback_url(self):
185
+ return self.__callback_url
186
+
187
+ @callback_url.setter
188
+ def callback_url(self, value):
189
+ self.__callback_url = str(
190
+ value) if value is not None else None
191
+
192
+ @validate_args(
193
+ value=[of_type(str)],
194
+ )
195
+ def set_callback_url(self, value):
196
+ self.callback_url = value
197
+ return self
198
+
199
+ @property
200
+ def callback_method(self):
201
+ return self.__callback_method
202
+
203
+ @callback_method.setter
204
+ def callback_method(self, value):
205
+ self.__callback_method = str(
206
+ value) if value is not None else None
207
+
208
+ @validate_args(
209
+ value=[of_type(str)],
210
+ )
211
+ def set_callback_method(self, value):
212
+ self.callback_method = value
213
+ return self
214
+
215
+ @property
216
+ def redirect(self):
217
+ return self.__redirect
218
+
219
+ @redirect.setter
220
+ def redirect(self, value):
221
+ self.__redirect = bool(value) if value is not None else None
222
+
223
+ @validate_args(
224
+ value=[of_type_exact(bool)],
225
+ )
226
+ def set_redirect(self, value):
227
+ self.redirect = value
228
+ return self
229
+
230
+ @property
231
+ def digits_match(self):
232
+ return self.__digits_match
233
+
234
+ @digits_match.setter
235
+ def digits_match(self, value):
236
+ self.__digits_match = str(
237
+ value) if value is not None else None
238
+
239
+ @validate_args(
240
+ value=[of_type(str)],
241
+ )
242
+ def set_digits_match(self, value):
243
+ self.digits_match = value
244
+ return self
245
+
246
+ @property
247
+ def digits_match_b_leg(self):
248
+ return self.__digits_match_b_leg
249
+
250
+ @digits_match_b_leg.setter
251
+ def digits_match_b_leg(self, value):
252
+ self.__digits_match_b_leg = str(
253
+ value) if value is not None else None
254
+
255
+ @validate_args(
256
+ value=[of_type(str)],
257
+ )
258
+ def set_digits_match_b_leg(self, value):
259
+ self.digits_match_b_leg = value
260
+ return self
261
+
262
+ @property
263
+ def sip_headers(self):
264
+ return self.__sip_headers
265
+
266
+ @sip_headers.setter
267
+ def sip_headers(self, value):
268
+ self.__sip_headers = str(
269
+ value) if value is not None else None
270
+
271
+ @validate_args(
272
+ value=[of_type(str)],
273
+ )
274
+ def set_sip_headers(self, value):
275
+ self.sip_headers = value
276
+ return self
277
+
278
+ def __init__(
279
+ self,
280
+ action=None,
281
+ method=None,
282
+ hangup_on_star=None,
283
+ time_limit=None,
284
+ timeout=None,
285
+ caller_id=None,
286
+ caller_name=None,
287
+ confirm_sound=None,
288
+ confirm_timeout=None,
289
+ confirm_key=None,
290
+ dial_music=None,
291
+ callback_url=None,
292
+ callback_method=None,
293
+ redirect=None,
294
+ digits_match=None,
295
+ digits_match_b_leg=None,
296
+ sip_headers=None,
297
+ ):
298
+ super(DialElement, self).__init__()
299
+
300
+ self.action = action
301
+ self.method = method
302
+ self.hangup_on_star = hangup_on_star
303
+ self.time_limit = time_limit
304
+ self.timeout = timeout
305
+ self.caller_id = caller_id
306
+ self.caller_name = caller_name
307
+ self.confirm_sound = confirm_sound
308
+ self.confirm_timeout = confirm_timeout
309
+ self.confirm_key = confirm_key
310
+ self.dial_music = dial_music
311
+ self.callback_url = callback_url
312
+ self.callback_method = callback_method
313
+ self.redirect = redirect
314
+ self.digits_match = digits_match
315
+ self.digits_match_b_leg = digits_match_b_leg
316
+ self.sip_headers = sip_headers
317
+
318
+ def to_dict(self):
319
+ d = {
320
+ 'action': self.action,
321
+ 'method': self.method,
322
+ 'hangupOnStar': self.hangup_on_star,
323
+ 'timeLimit': self.time_limit,
324
+ 'timeout': self.timeout,
325
+ 'callerId': self.caller_id,
326
+ 'callerName': self.caller_name,
327
+ 'confirmSound': self.confirm_sound,
328
+ 'confirmTimeout': self.confirm_timeout,
329
+ 'confirmKey': self.confirm_key,
330
+ 'dialMusic': self.dial_music,
331
+ 'callbackUrl': self.callback_url,
332
+ 'callbackMethod': self.callback_method,
333
+ 'redirect': self.redirect,
334
+ 'digitsMatch': self.digits_match,
335
+ 'digitsMatchBLeg': self.digits_match_b_leg,
336
+ 'sipHeaders': self.sip_headers,
337
+ }
338
+ return {
339
+ k: str(map_type(v))
340
+ for k, v in d.items() if v is not None
341
+ }
342
+
343
+ def add_user(
344
+ self,
345
+ content,
346
+ send_digits=None,
347
+ send_on_preanswer=None,
348
+ sip_headers=None,
349
+ ):
350
+ self.add(
351
+ UserElement(
352
+ content=content,
353
+ send_digits=send_digits,
354
+ send_on_preanswer=send_on_preanswer,
355
+ sip_headers=sip_headers,
356
+ ))
357
+ return self
358
+
359
+ def add_number(
360
+ self,
361
+ content,
362
+ send_digits=None,
363
+ send_on_preanswer=None,
364
+ ):
365
+ self.add(
366
+ NumberElement(
367
+ content=content,
368
+ send_digits=send_digits,
369
+ send_on_preanswer=send_on_preanswer,
370
+ ))
371
+ return self