fix: /response с фильтром device_id
This commit is contained in:
@@ -236,11 +236,18 @@ def raw_get_response():
|
|||||||
"""Copilot: прочитать последний ответ."""
|
"""Copilot: прочитать последний ответ."""
|
||||||
seq = int(request.args.get("seq", 0))
|
seq = int(request.args.get("seq", 0))
|
||||||
wait_s = int(request.args.get("wait", 0))
|
wait_s = int(request.args.get("wait", 0))
|
||||||
|
device_id = request.args.get("device_id", "")
|
||||||
|
|
||||||
if wait_s > 0:
|
if wait_s > 0:
|
||||||
dl = time.time() + wait_s
|
dl = time.time() + wait_s
|
||||||
while time.time() < dl:
|
while time.time() < dl:
|
||||||
with Database() as db:
|
with Database() as db:
|
||||||
|
if device_id:
|
||||||
|
row = db.conn.execute(
|
||||||
|
"SELECT seq, cmd, raw_response, elapsed_ms, prompt, error FROM command_queue WHERE seq > ? AND status='done' AND device_id=? ORDER BY seq DESC LIMIT 1",
|
||||||
|
(seq, device_id)
|
||||||
|
).fetchone()
|
||||||
|
else:
|
||||||
row = db.conn.execute(
|
row = db.conn.execute(
|
||||||
"SELECT seq, cmd, raw_response, elapsed_ms, prompt, error FROM command_queue WHERE seq > ? AND status='done' ORDER BY seq DESC LIMIT 1",
|
"SELECT seq, cmd, raw_response, elapsed_ms, prompt, error FROM command_queue WHERE seq > ? AND status='done' ORDER BY seq DESC LIMIT 1",
|
||||||
(seq,)
|
(seq,)
|
||||||
@@ -251,6 +258,12 @@ def raw_get_response():
|
|||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
||||||
with Database() as db:
|
with Database() as db:
|
||||||
|
if device_id:
|
||||||
|
row = db.conn.execute(
|
||||||
|
"SELECT seq, cmd, raw_response, elapsed_ms, prompt, error FROM command_queue WHERE status='done' AND device_id=? ORDER BY seq DESC LIMIT 1",
|
||||||
|
(device_id,)
|
||||||
|
).fetchone()
|
||||||
|
else:
|
||||||
row = db.conn.execute(
|
row = db.conn.execute(
|
||||||
"SELECT seq, cmd, raw_response, elapsed_ms, prompt, error FROM command_queue WHERE status='done' ORDER BY seq DESC LIMIT 1"
|
"SELECT seq, cmd, raw_response, elapsed_ms, prompt, error FROM command_queue WHERE status='done' ORDER BY seq DESC LIMIT 1"
|
||||||
).fetchone()
|
).fetchone()
|
||||||
|
|||||||
Reference in New Issue
Block a user