38
38
39
39
@app .route ('/api/voiceident/enrollments' , methods = ['POST' ])
40
40
def enroll ():
41
+ status = 200
41
42
output = {}
42
43
record = {}
43
44
if 'audio_file' not in request .files :
@@ -46,7 +47,7 @@ def enroll():
46
47
output ['DecisionReason' ]= "AUDIO_FILE_NOT_SENT"
47
48
output ['voiceprintId' ] = ""
48
49
output ['voiceModel' ] = ""
49
- return output
50
+ return output , status
50
51
51
52
52
53
audio_file = request .files ['audio_file' ]
@@ -57,14 +58,14 @@ def enroll():
57
58
output ['DecisionReason' ]= "MISSING_ARGUMENTS"
58
59
output ['voiceprintId' ] = ""
59
60
output ['voiceModel' ] = ""
60
- return output
61
+ return output , status
61
62
if audio_file .filename == '' :
62
63
output ['trained' ] = "failed"
63
64
output ['EnrollStatus' ] = "REJECTED"
64
65
output ['DecisionReason' ]= "INEXISTANT_FILENAME"
65
66
output ['voiceprintId' ] = ""
66
67
output ['voiceModel' ] = ""
67
- return output
68
+ return output , status
68
69
69
70
username = request .args .get ('username' )
70
71
if username == '' :
@@ -73,7 +74,7 @@ def enroll():
73
74
output ['DecisionReason' ]= "INEXISTANT_USERNAME"
74
75
output ['voiceprintId' ] = ""
75
76
output ['voiceModel' ] = ""
76
- return output
77
+ return output , status
77
78
#recording = json.loads(audio_file)
78
79
#print(recording)
79
80
filename = secure_filename (audio_file .filename )
@@ -118,7 +119,7 @@ def enroll():
118
119
output ['DecisionReason' ]= "ERROR_TRAINING_THE_MODEL"
119
120
output ['voiceprintId' ] = ""
120
121
output ['voiceModel' ] = ""
121
- return output
122
+ return output , status
122
123
else :
123
124
# Saving needed data in mongodb
124
125
record ['username' ] = username
@@ -142,29 +143,30 @@ def enroll():
142
143
output ['EnrollStatus' ] = "ACCEPTED"
143
144
output ['DecisionReason' ]= "Accepted"
144
145
145
- return output
146
+ return output , status
146
147
147
148
148
149
149
150
150
151
151
152
@app .route ('/api/voiceident/enrollments' , methods = ['GET' ])
152
153
def check_enroll ():
154
+ status = 200
153
155
output = {}
154
156
if 'username' not in request .args :
155
157
output ['trained' ] = "failed"
156
158
output ['EnrollStatus' ] = "REJECTED"
157
159
output ['DecisionReason' ]= "MISSING_ARGUMENTS"
158
160
output ['voiceprintId' ] = ""
159
161
output ['voiceModel' ] = ""
160
- return output
162
+ return output , status
161
163
if 'voiceprintId' not in request .args :
162
164
output ['trained' ] = "failed"
163
165
output ['EnrollStatus' ] = "REJECTED"
164
166
output ['DecisionReason' ]= "MISSING_ARGUMENTS"
165
167
output ['voiceprintId' ] = ""
166
168
output ['voiceModel' ] = ""
167
- return output
169
+ return output , status
168
170
voiceprintId = request .args .get ('voiceprintId' )
169
171
username = request .args .get ('username' )
170
172
record = users .find_one ({'_id' :ObjectId (voiceprintId )})
@@ -175,7 +177,7 @@ def check_enroll():
175
177
output ['DecisionReason' ]= "ERROR_TRAINING_THE_MODEL"
176
178
output ['voiceprintId' ] = ""
177
179
output ['voiceModel' ] = ""
178
- return output
180
+ return output , status
179
181
else :
180
182
with open (gmm_model_path , 'rb' ) as binary_file :
181
183
binary_file_data = binary_file .read ()
@@ -185,41 +187,46 @@ def check_enroll():
185
187
output ['voiceModel' ] = base64_encoded_data
186
188
output ['EnrollStatus' ] = "ACCEPTED"
187
189
output ['DecisionReason' ]= "Accepted"
188
- return output
190
+ return output , status
189
191
190
192
191
193
192
194
193
195
@app .route ('/api/voiceident/authentication' , methods = ['POST' ])
194
196
def authentificate ():
195
197
output = {}
198
+ status = 200
196
199
if 'audio_file' not in request .files :
200
+ status = 403
197
201
output ['score' ] = None
198
202
output ['Decision' ] = "MISMATCH"
199
203
output ['DecisionReason' ]= "AUDIO_FILE_NOT_SENT"
200
- return output
204
+ return output , status
201
205
202
206
203
207
204
208
205
209
audio_file = request .files ['audio_file' ]
206
210
207
211
if audio_file .filename == '' :
212
+ status = 403
208
213
output ['score' ] = None
209
214
output ['Decision' ] = "MISMATCH"
210
215
output ['DecisionReason' ]= "INEXISTANT_FILENAME"
211
- return output
216
+ return output , status
212
217
if 'username' not in request .args :
218
+ status = 464
213
219
output ['score' ] = None
214
220
output ['Decision' ] = "MISMATCH"
215
221
output ['DecisionReason' ]= "MISSING_ARGUMENTS"
216
- return output
222
+ return output , status
217
223
218
224
if 'voiceprintId' not in request .args :
225
+ status = 464
219
226
output ['score' ] = None
220
227
output ['Decision' ] = "MISMATCH"
221
228
output ['DecisionReason' ]= "MISSING_ARGUMENTS"
222
- return output
229
+ return output , status
223
230
224
231
filename = secure_filename (audio_file .filename )
225
232
audio_file .save (os .path .join (app .config ['UPLOAD_FOLDER' ], filename ))
@@ -239,10 +246,11 @@ def authentificate():
239
246
username = request .args .get ('username' )
240
247
record = users .find_one ({'username' :username })
241
248
if record == None :
249
+ status = 464
242
250
output ['score' ] = None
243
251
output ['Decision' ] = "MISMATCH"
244
252
output ['DecisionReason' ]= "INEXISTANT_USERNAME"
245
- return output
253
+ return output , status
246
254
247
255
248
256
@@ -267,7 +275,7 @@ def authentificate():
267
275
output ['score' ] = round (score * 100 ,2 )
268
276
output ['Decision' ] = "MISMATCH"
269
277
output ['DecisionReason' ]= "BIOMETRIC_MISMATCH"
270
- return output
278
+ return output , status
271
279
else :
272
280
identity ,score = recognize (os .path .join (app .config ['UPLOAD_FOLDER' ], filen ),username )
273
281
os .remove (os .path .join (app .config ['UPLOAD_FOLDER' ], filename ))
@@ -280,7 +288,7 @@ def authentificate():
280
288
output ['score' ] = round (score * 100 ,2 )
281
289
output ['Decision' ] = "MISMATCH"
282
290
output ['DecisionReason' ]= "BIOMETRIC_MISMATCH"
283
- return output
291
+ return output , status
284
292
285
293
286
294
0 commit comments