From d1ba0384d998442ea638a5fcc48797c106da7176 Mon Sep 17 00:00:00 2001 From: nicolas-f <1382241+nicolas-f@users.noreply.github.com> Date: Mon, 5 Feb 2024 13:31:20 +0100 Subject: [PATCH] Fetch, decipher and download flac audio --- services/ansible_openvpn/docker/dashboard/app/main.py | 11 ++++++++++- .../docker/dashboard/app/static/trigger.js | 4 ++-- .../docker/dashboard/app/templates/trigger_audio.json | 10 ++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 services/ansible_openvpn/docker/dashboard/app/templates/trigger_audio.json diff --git a/services/ansible_openvpn/docker/dashboard/app/main.py b/services/ansible_openvpn/docker/dashboard/app/main.py index ffe869e..d344b5e 100644 --- a/services/ansible_openvpn/docker/dashboard/app/main.py +++ b/services/ansible_openvpn/docker/dashboard/app/main.py @@ -126,11 +126,20 @@ async def get_sensor_position(request: Request): @app.get('/recordings', response_class=HTMLResponse) -async def home(request: Request): +async def recordings(request: Request): return templates.TemplateResponse("recordings.html", context={"request": request}) +@app.get('/get-samples/{document_id}', response_class=HTMLResponse) +async def get_samples(request: Request, document_id: str): + post_data = json.loads( + templates.get_template("trigger_audio.json").render(id=document_id)) + resp = client.search(**post_data) + # reformat elastic search result + return resp["hits"]["hits"][0]["_source"] + + @app.get('/', response_class=HTMLResponse) async def home(request: Request): return templates.TemplateResponse("status.html", diff --git a/services/ansible_openvpn/docker/dashboard/app/static/trigger.js b/services/ansible_openvpn/docker/dashboard/app/static/trigger.js index ac83389..51c2f99 100644 --- a/services/ansible_openvpn/docker/dashboard/app/static/trigger.js +++ b/services/ansible_openvpn/docker/dashboard/app/static/trigger.js @@ -114,8 +114,8 @@ async function do_decrypt(jsonContent) { decipher.update(forge.util.createBuffer(encrypted.substring(512))); var result = decipher.finish(); // check 'result' for true/false // outputs decrypted hex - const fname = date.toLocaleDateString()+"_"+date.toLocaleTimeString()+".ogg"; - download(decipher.output.data, fname, "audio/ogg"); + const fname = date.toLocaleDateString()+"_"+date.toLocaleTimeString()+".flac"; + download(decipher.output.data, fname, "audio/flac"); } } diff --git a/services/ansible_openvpn/docker/dashboard/app/templates/trigger_audio.json b/services/ansible_openvpn/docker/dashboard/app/templates/trigger_audio.json new file mode 100644 index 0000000..6d7442a --- /dev/null +++ b/services/ansible_openvpn/docker/dashboard/app/templates/trigger_audio.json @@ -0,0 +1,10 @@ +{ + "index": "sensor_yamnet_*", + "size" : 1, + "_source": true, + "query": { + "ids": { + "values": "{{ id }}" + } + } +} \ No newline at end of file