VoiceIt2 1.0.0

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 (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/VoiceIt2.rb +427 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6057095000b5c1568678721d087354621e0be5c298caa534b5d44f6d44959d22
4
+ data.tar.gz: a1653d455a59e510d3235c3f6e7c74416af86197ca5107f2f0b9a462a50798db
5
+ SHA512:
6
+ metadata.gz: 6d9b0ebdeb85f4ed77f3307af6d5e680bd70e44c407ee62648e4b16225c47b69967d195956fa19f288c67e25c163a076b38ee3dd9a517d636ac04474b5ebd13b
7
+ data.tar.gz: 11ca42e4ddb25a3e7b6ec9d479cf498c65ee9500752d870f6884fd003f516b04d05fc2d1363bbe7c097dfdd3ed05128cd2846011c52e54377217459173202056
data/lib/VoiceIt2.rb ADDED
@@ -0,0 +1,427 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rest_client'
3
+
4
+ class VoiceIt2
5
+
6
+ def initialize(key, tok)
7
+ @BASE_URL = URI('https://api.voiceit.io')
8
+ @api_key = key
9
+ @api_token = tok
10
+ end
11
+
12
+ def getAllUsers
13
+ return RestClient::Request.new(
14
+ :method => :get,
15
+ :url => @BASE_URL.to_s + '/users',
16
+ :user => @api_key,
17
+ :password => @api_token).execute
18
+ rescue => e
19
+ e.response
20
+ end
21
+
22
+ def createUser
23
+ return RestClient::Request.new(
24
+ :method => :post,
25
+ :url => @BASE_URL.to_s + '/users',
26
+ :user => @api_key,
27
+ :password => @api_token).execute
28
+ rescue => e
29
+ e.response
30
+ end
31
+
32
+ def getUser(userId)
33
+ return RestClient::Request.new(
34
+ :method => :get,
35
+ :url => @BASE_URL.to_s + '/users/' + userId,
36
+ :user => @api_key,
37
+ :password => @api_token).execute
38
+ rescue => e
39
+ e.response
40
+ end
41
+
42
+ def deleteUser(userId)
43
+ return RestClient::Request.new(
44
+ :method => :delete,
45
+ :url => @BASE_URL.to_s + '/users/' + userId,
46
+ :user => @api_key,
47
+ :password => @api_token).execute
48
+ rescue => e
49
+ e.response
50
+ end
51
+
52
+ def getGroupsForUser(userId)
53
+ return RestClient::Request.new(
54
+ :method => :get,
55
+ :url => @BASE_URL.to_s + '/users/' + userId + '/groups',
56
+ :user => @api_key,
57
+ :password => @api_token).execute
58
+ rescue => e
59
+ e.response
60
+ end
61
+
62
+ def getAllEnrollmentsForUser(userId)
63
+ return RestClient::Request.new(
64
+ :method => :get,
65
+ :url => @BASE_URL.to_s + '/enrollments/' + userId,
66
+ :user => @api_key,
67
+ :password => @api_token).execute
68
+ rescue => e
69
+ e.response
70
+ end
71
+
72
+ def deleteAllEnrollmentsForUser(userId)
73
+ return RestClient::Request.new(
74
+ :method => :delete,
75
+ :url => @BASE_URL.to_s + '/enrollments/' + userId + '/all',
76
+ :user => @api_key,
77
+ :password => @api_token).execute
78
+ rescue => e
79
+ e.response
80
+ end
81
+
82
+ def getFaceEnrollmentsForUser(userId)
83
+ return RestClient::Request.new(
84
+ :method => :get,
85
+ :url => @BASE_URL.to_s + '/enrollments/face/' + userId,
86
+ :user => @api_key,
87
+ :password => @api_token).execute
88
+ rescue => e
89
+ e.response
90
+ end
91
+
92
+ def createVoiceEnrollment(userId, contentLanguage, filePath)
93
+ return RestClient::Request.new(
94
+ :method => :post,
95
+ :url => @BASE_URL.to_s + '/enrollments',
96
+ :user => @api_key,
97
+ :password => @api_token,
98
+ :payload => {
99
+ :multipart => true,
100
+ :userId => userId,
101
+ :contentLanguage => contentLanguage,
102
+ :recording => File.new(filePath, 'rb')
103
+ }).execute
104
+ rescue => e
105
+ e.response
106
+ end
107
+
108
+ def createVoiceEnrollmentByUrl(userId, contentLanguage, fileUrl)
109
+ return RestClient::Request.new(
110
+ :method => :post,
111
+ :url => @BASE_URL.to_s + '/enrollments/byUrl',
112
+ :user => @api_key,
113
+ :password => @api_token,
114
+ :payload => {
115
+ :multipart => true,
116
+ :userId => userId,
117
+ :contentLanguage => contentLanguage,
118
+ :fileUrl => fileUrl
119
+ }).execute
120
+ rescue => e
121
+ e.response
122
+ end
123
+
124
+ def createFaceEnrollment(userId, filePath, doBlinkDetection = false)
125
+ return RestClient::Request.new(
126
+ :method => :post,
127
+ :url => @BASE_URL.to_s + '/enrollments/face',
128
+ :user => @api_key,
129
+ :password => @api_token,
130
+ :payload => {
131
+ :multipart => true,
132
+ :userId => userId,
133
+ :video => File.new(filePath, 'rb'),
134
+ :doBlinkDetection => doBlinkDetection
135
+ }).execute
136
+ rescue => e
137
+ e.response
138
+ end
139
+
140
+ def createVideoEnrollment(userId, contentLanguage, filePath, doBlinkDetection = false)
141
+ return RestClient::Request.new(
142
+ :method => :post,
143
+ :url => @BASE_URL.to_s + '/enrollments/video',
144
+ :user => @api_key,
145
+ :password => @api_token,
146
+ :payload => {
147
+ :multipart => true,
148
+ :userId => userId,
149
+ :contentLanguage => contentLanguage,
150
+ :video => File.new(filePath, 'rb'),
151
+ :doBlinkDetection => doBlinkDetection
152
+ }).execute
153
+ rescue => e
154
+ e.response
155
+ end
156
+
157
+ def createVideoEnrollmentByUrl(userId, contentLanguage, fileUrl, doBlinkDetection = false)
158
+ return RestClient::Request.new(
159
+ :method => :post,
160
+ :url => @BASE_URL.to_s + '/enrollments/video/byUrl',
161
+ :user => @api_key,
162
+ :password => @api_token,
163
+ :payload => {
164
+ :multipart => true,
165
+ :userId => userId,
166
+ :contentLanguage => contentLanguage,
167
+ :fileUrl => fileUrl,
168
+ :doBlinkDetection => doBlinkDetection
169
+ }).execute
170
+ rescue => e
171
+ e.response
172
+ end
173
+
174
+ def deleteFaceEnrollment(userId, faceEnrollmentId)
175
+ return RestClient::Request.new(
176
+ :method => :delete,
177
+ :url => @BASE_URL.to_s + '/enrollments/face/' + userId + '/' + faceEnrollmentId,
178
+ :user => @api_key,
179
+ :password => @api_token).execute
180
+ rescue => e
181
+ e.response
182
+ end
183
+
184
+ def deleteEnrollmentForUser(userId, enrollmentId)
185
+ return RestClient::Request.new(
186
+ :method => :delete,
187
+ :url => @BASE_URL.to_s + '/enrollments/' + userId + '/' + enrollmentId,
188
+ :user => @api_key,
189
+ :password => @api_token).execute
190
+ rescue => e
191
+ e.response
192
+ end
193
+
194
+ def getAllGroups()
195
+ return RestClient::Request.new(
196
+ :method => :get,
197
+ :url => @BASE_URL.to_s + '/groups',
198
+ :user => @api_key,
199
+ :password => @api_token).execute
200
+ rescue => e
201
+ e.response
202
+ end
203
+
204
+ def getGroup(groupId)
205
+ return RestClient::Request.new(
206
+ :method => :get,
207
+ :url => @BASE_URL.to_s + '/groups/' + groupId,
208
+ :user => @api_key,
209
+ :password => @api_token).execute
210
+ rescue => e
211
+ e.response
212
+ end
213
+
214
+ def groupExists(groupId)
215
+ return RestClient::Request.new(
216
+ :method => :get,
217
+ :url => @BASE_URL.to_s + '/groups/' + groupId + '/exists',
218
+ :user => @api_key,
219
+ :password => @api_token).execute
220
+ rescue => e
221
+ e.response
222
+ end
223
+
224
+ def createGroup(description)
225
+ return RestClient::Request.new(
226
+ :method => :post,
227
+ :url => @BASE_URL.to_s + '/groups',
228
+ :user => @api_key,
229
+ :password => @api_token,
230
+ :payload => {
231
+ :multipart => true,
232
+ :description => description
233
+ }).execute
234
+ rescue => e
235
+ e.response
236
+ end
237
+
238
+ def addUserToGroup(groupId, userId)
239
+ return RestClient::Request.new(
240
+ :method => :put,
241
+ :url => @BASE_URL.to_s + '/groups/addUser',
242
+ :user => @api_key,
243
+ :password => @api_token,
244
+ :payload => {
245
+ :multipart => true,
246
+ :groupId => groupId,
247
+ :userId => userId
248
+ }).execute
249
+ rescue => e
250
+ e.response
251
+ end
252
+
253
+ def removeUserFromGroup(groupId, userId)
254
+ return RestClient::Request.new(
255
+ :method => :put,
256
+ :url => @BASE_URL.to_s + '/groups/removeUser',
257
+ :user => @api_key,
258
+ :password => @api_token,
259
+ :payload => {
260
+ :multipart => true,
261
+ :groupId => groupId,
262
+ :userId => userId
263
+ }).execute
264
+ rescue => e
265
+ e.response
266
+ end
267
+
268
+ def deleteGroup(groupId)
269
+ return RestClient::Request.new(
270
+ :method => :delete,
271
+ :url => @BASE_URL.to_s + '/groups/' + groupId,
272
+ :user => @api_key,
273
+ :password => @api_token).execute
274
+ rescue => e
275
+ e.response
276
+ end
277
+
278
+ def voiceVerification(userId, contentLanguage, filePath)
279
+ return RestClient::Request.new(
280
+ :method => :post,
281
+ :url => @BASE_URL.to_s + '/verification',
282
+ :user => @api_key,
283
+ :password => @api_token,
284
+ :payload => {
285
+ :multipart => true,
286
+ :userId => userId,
287
+ :contentLanguage => contentLanguage,
288
+ :recording => File.new(filePath, 'rb')
289
+ }).execute
290
+ rescue => e
291
+ e.response
292
+ end
293
+
294
+ def voiceVerificationByUrl(userId, contentLanguage, fileUrl)
295
+ return RestClient::Request.new(
296
+ :method => :post,
297
+ :url => @BASE_URL.to_s + '/verification/byUrl',
298
+ :user => @api_key,
299
+ :password => @api_token,
300
+ :payload => {
301
+ :multipart => true,
302
+ :userId => userId,
303
+ :contentLanguage => contentLanguage,
304
+ :fileUrl => fileUrl
305
+ }).execute
306
+ rescue => e
307
+ e.response
308
+ end
309
+
310
+ def faceVerification(userId, filePath, doBlinkDetection = false)
311
+ return RestClient::Request.new(
312
+ :method => :post,
313
+ :url => @BASE_URL.to_s + '/verification/face',
314
+ :user => @api_key,
315
+ :password => @api_token,
316
+ :payload => {
317
+ :multipart => true,
318
+ :userId => userId,
319
+ :doBlinkDetection => doBlinkDetection,
320
+ :video => File.new(filePath, 'rb')
321
+ }).execute
322
+ rescue => e
323
+ e.response
324
+ end
325
+
326
+ def videoVerification(userId, contentLanguage, filePath, doBlinkDetection = false)
327
+ return RestClient::Request.new(
328
+ :method => :post,
329
+ :url => @BASE_URL.to_s + '/verification/video',
330
+ :user => @api_key,
331
+ :password => @api_token,
332
+ :payload => {
333
+ :multipart => true,
334
+ :userId => userId,
335
+ :contentLanguage => contentLanguage,
336
+ :doBlinkDetection => doBlinkDetection,
337
+ :video => File.new(filePath, 'rb')
338
+ }).execute
339
+ rescue => e
340
+ e.response
341
+ end
342
+
343
+ def videoVerificationByUrl(userId, contentLanguage, fileUrl, doBlinkDetection = false)
344
+ return RestClient::Request.new(
345
+ :method => :post,
346
+ :url => @BASE_URL.to_s + '/verification/video/byUrl',
347
+ :user => @api_key,
348
+ :password => @api_token,
349
+ :payload => {
350
+ :multipart => true,
351
+ :userId => userId,
352
+ :contentLanguage => contentLanguage,
353
+ :doBlinkDetection => doBlinkDetection,
354
+ :fileUrl => fileUrl
355
+ }).execute
356
+ rescue => e
357
+ e.response
358
+ end
359
+
360
+ def voiceIdentification(groupId, contentLanguage, filePath)
361
+ return RestClient::Request.new(
362
+ :method => :post,
363
+ :url => @BASE_URL.to_s + '/identification',
364
+ :user => @api_key,
365
+ :password => @api_token,
366
+ :payload => {
367
+ :multipart => true,
368
+ :groupId => groupId,
369
+ :contentLanguage => contentLanguage,
370
+ :recording => File.new(filePath, 'rb')
371
+ }).execute
372
+ rescue => e
373
+ e.response
374
+ end
375
+
376
+ def voiceIdentificationByUrl(groupId, contentLanguage, fileUrl)
377
+ return RestClient::Request.new(
378
+ :method => :post,
379
+ :url => @BASE_URL.to_s + '/identification/byUrl',
380
+ :user => @api_key,
381
+ :password => @api_token,
382
+ :payload => {
383
+ :multipart => true,
384
+ :groupId => groupId,
385
+ :contentLanguage => contentLanguage,
386
+ :fileUrl => fileUrl
387
+ }).execute
388
+ rescue => e
389
+ e.response
390
+ end
391
+
392
+ def videoIdentification(groupId, contentLanguage, filePath, doBlinkDetection = false)
393
+ return RestClient::Request.new(
394
+ :method => :post,
395
+ :url => @BASE_URL.to_s + '/identification/video',
396
+ :user => @api_key,
397
+ :password => @api_token,
398
+ :payload => {
399
+ :multipart => true,
400
+ :groupId => groupId,
401
+ :contentLanguage => contentLanguage,
402
+ :doBlinkDetection => doBlinkDetection,
403
+ :video => File.new(filePath, 'rb')
404
+ }).execute
405
+ rescue => e
406
+ e.response
407
+ end
408
+
409
+ def videoIdentificationByUrl(groupId, contentLanguage, fileUrl, doBlinkDetection = false)
410
+ return RestClient::Request.new(
411
+ :method => :post,
412
+ :url => @BASE_URL.to_s + '/identification/video/byUrl',
413
+ :user => @api_key,
414
+ :password => @api_token,
415
+ :payload => {
416
+ :multipart => true,
417
+ :groupId => groupId,
418
+ :contentLanguage => contentLanguage,
419
+ :doBlinkDetection => doBlinkDetection,
420
+ :fileUrl => fileUrl
421
+ }).execute
422
+ rescue => e
423
+ e.response
424
+ end
425
+
426
+
427
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: VoiceIt2
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - StephenAkers
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-05-31 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A wrapper fro VoiceIt's API 2
14
+ email: stephen@voiceit.io
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/VoiceIt2.rb
20
+ homepage: http://rubygems.org/gems/hola
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.7.6
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: VoiceIt Api 2
44
+ test_files: []