здесь dll, которая может сравнивать расстояние до лица, и compareFace.dll, мне нужно использовать callback, чтобы получить его значение
, сейчас я хочу использовать колбу, чтобы обернуть ее, затем можно зайти по http иjson
lib= c.CDLL('comparedFace.dll')
CALLBACKFUNC = c.CFUNCTYPE(None, c.c_int, c.c_char_p)
lib.startComparedFace.restype = c.c_int
lib.startComparedFace.argtypes = (c.c_char_p, c.c_char_p, CALLBACKFUNC)
@app.route('/compare', methods=['GET', 'POST'])
def test():
if request.method == 'POST':
request_json = request.get_json()
print(request_json)
number = request_json.get('number')
image01 = request_json.get('image01')
image02 = request_json.get('image02')
print(image01)
print(image02)
@c.CFUNCTYPE(None, c.c_int, c.c_char_p)
@copy_current_request_context
def callback(status, result_string):
result_json = json.loads(result_string)
distance = result_json['compareResult']
resp_data = {
"number": number,
"distance": distance,
}
print(resp_data)
response = Response(
response=json.dumps(resp_data),
status=200,
mimetype='application/json'
)
return response
lib.startComparedFace(b'd:/1.jpg', b'd:/2.jpg', callback)
запустить код, и я получаю сообщение об ошибке ValueError: View function did not return a response
Я знаю, я должен написать возвращение 'ххх' в качестве ответа
Но яЯ хочу подождать функцию обратного вызова и вернуть ответ в функцию обратного вызова, поэтому как мне изменить мой код, спасибо.