Как вернуть ответ в функцию обратного вызова с помощью колбыPython

Программы на Python
Ответить
Anonymous
 Как вернуть ответ в функцию обратного вызова с помощью колбы

Сообщение Anonymous »

вот dll, которая может сравнивать расстояние между лицами, и CompareFace.dll, мне нужно использовать обратный вызов, чтобы получить ее значение

теперь я хочу использовать flask для ее упаковки, а затем могу посетить ее по 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: функция просмотра не вернула ответ

Я знаю, мне следует написать в качестве ответа возврат «xxx».

Но я хочу дождаться функции обратного вызова и вернуть ответ в функции обратного вызова, так как мне изменить свой код, спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»