Как я могу проверить, закрыл ли пользователь определенную вкладку / окно во Flask? - PullRequest
0 голосов
/ 20 января 2019

Я использую сервер, который позволяет пользователям обнаруживать движение через веб-камеру.Окно / URL-адрес детектора движения передает поток в реальном времени, и я хочу определить, когда было отключено обнаружение потока / движения, если пользователь закрывает окно / вкладку напрямую, а не нажимает кнопку остановки.

Я попытался найтирешение в сети, но не смог найти его.

Вот код для маршрута в приложении фляги

@app.route('/camera')
@login_required
def camera():
    return Response(get_frame(), mimetype='multipart/x-mixed-replace; boundary=frame')

Функция get_frame (), переданная в ответе Ответ выше не имеет оператора return , вместо этого используется yield вместо предоставления изображений с веб-камеры в качестве движущегося изображения.

def get_frame():
    ....
    ....
    yield (b'--frame\r\n'
        b'Content-Type: text/plain\r\n\r\n' + imageData + b'\r\n')

Я хочу обнаружить его всоздать временные метки, когда детектор движения был запущен и когда он остановился.

1 Ответ

0 голосов
/ 20 января 2019

Простое и простое решение - записать отметку времени последней отправленной партии в запрос:

from flask import request

def get_frame():
    ....
    request.last_batch_send_time = time.time()
    yield (b'--frame\r\n'
        b'Content-Type: text/plain\r\n\r\n' + imageData + b'\r\n')

Затем вы можете использовать ее в после обратного вызова запроса, например, .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...