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.
- vobiz/__init__.py +4 -0
- vobiz/base.py +237 -0
- vobiz/exceptions.py +34 -0
- vobiz/resources/__init__.py +12 -0
- vobiz/resources/accounts.py +59 -0
- vobiz/resources/applications.py +138 -0
- vobiz/resources/calls_vobiz.py +206 -0
- vobiz/resources/cdrs.py +46 -0
- vobiz/resources/credentials.py +104 -0
- vobiz/resources/endpoints.py +101 -0
- vobiz/resources/ip_access_control_lists.py +100 -0
- vobiz/resources/numbers.py +134 -0
- vobiz/resources/origination_uris.py +109 -0
- vobiz/resources/recordings.py +91 -0
- vobiz/resources/sip_trunks.py +99 -0
- vobiz/resources/subaccounts.py +101 -0
- vobiz/rest/__init__.py +2 -0
- vobiz/rest/client.py +277 -0
- vobiz/utils/__init__.py +72 -0
- vobiz/utils/interactive.py +50 -0
- vobiz/utils/jwt.py +97 -0
- vobiz/utils/location.py +6 -0
- vobiz/utils/signature_v3.py +111 -0
- vobiz/utils/template.py +50 -0
- vobiz/utils/validators.py +280 -0
- vobiz/version.py +2 -0
- vobiz/xml/ConferenceElement.py +485 -0
- vobiz/xml/DTMFElement.py +41 -0
- vobiz/xml/DialElement.py +371 -0
- vobiz/xml/MultiPartyCallElement.py +711 -0
- vobiz/xml/ResponseElement.py +414 -0
- vobiz/xml/VobizXMLElement.py +48 -0
- vobiz/xml/__init__.py +31 -0
- vobiz/xml/breakElement.py +62 -0
- vobiz/xml/contElement.py +190 -0
- vobiz/xml/emphasisElement.py +174 -0
- vobiz/xml/getDigitsElement.py +294 -0
- vobiz/xml/getInputElement.py +369 -0
- vobiz/xml/hangupElement.py +57 -0
- vobiz/xml/langElement.py +197 -0
- vobiz/xml/messageElement.py +115 -0
- vobiz/xml/numberElement.py +77 -0
- vobiz/xml/pElement.py +164 -0
- vobiz/xml/phonemeElement.py +62 -0
- vobiz/xml/playElement.py +41 -0
- vobiz/xml/preAnswerElement.py +148 -0
- vobiz/xml/prosodyElement.py +227 -0
- vobiz/xml/recordElement.py +337 -0
- vobiz/xml/redirectElement.py +42 -0
- vobiz/xml/sElement.py +154 -0
- vobiz/xml/sayAsElement.py +61 -0
- vobiz/xml/speakElement.py +249 -0
- vobiz/xml/streamElement.py +123 -0
- vobiz/xml/subElement.py +43 -0
- vobiz/xml/userElement.py +79 -0
- vobiz/xml/wElement.py +144 -0
- vobiz/xml/waitElement.py +93 -0
- vobiz/xml/xmlUtils.py +6 -0
- vobiz_python-0.1.0.dist-info/METADATA +640 -0
- vobiz_python-0.1.0.dist-info/RECORD +63 -0
- vobiz_python-0.1.0.dist-info/WHEEL +5 -0
- vobiz_python-0.1.0.dist-info/licenses/LICENSE.txt +19 -0
- vobiz_python-0.1.0.dist-info/top_level.txt +1 -0
vobiz/xml/DialElement.py
ADDED
|
@@ -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
|