From 5294eae48acdf33f6932c90ac2bf9b9cea003d2f Mon Sep 17 00:00:00 2001 From: marcsello Date: Wed, 24 Nov 2021 20:50:26 +0100 Subject: [PATCH] Added more stuff --- .gitignore | 3 ++- evaluation_server.py | 33 +++++++++++++++++++++++++++++++++ push_csirip.py | 30 ++++++++++++++++++++++++++++++ requirements.txt | 2 ++ 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 evaluation_server.py create mode 100644 push_csirip.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index d3861ed..bd8a002 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ __pycache__ *.log .idea *.wav -big_chop_output/ \ No newline at end of file +big_chop_output/ +arrived.txt diff --git a/evaluation_server.py b/evaluation_server.py new file mode 100644 index 0000000..58a823c --- /dev/null +++ b/evaluation_server.py @@ -0,0 +1,33 @@ +from flask import Flask, request, abort, Response +import json + +app = Flask(__name__) + + +@app.route('/', methods=['POST']) +def record(): + if 'file' not in request.files: + return abort(400, "no file found") + else: + soundfile = request.files['file'] + + if 'description' not in request.form: + return abort(400, "no description found") + else: + description_raw = request.form.get("description") + + if soundfile.content_type != 'audio/wave': + return abort(415, 'Input file not a wave file.') + try: + desc = json.loads(description_raw) + except: + return abort(417, 'Input JSON schema invalid') + + with open("arrived.txt", "at") as f: + f.write(f"{desc['device_id']}\n") + + return Response(status=200) + + +if __name__ == '__main__': + app.run(host='0.0.0.0') diff --git a/push_csirip.py b/push_csirip.py new file mode 100644 index 0000000..2afa9dc --- /dev/null +++ b/push_csirip.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +import requests +import os +import os.path +import json +from datetime import datetime + + +def main(): + for root, _, files in os.walk("big_chop_output/"): + for file in files: + full_filename = os.path.join(root,file) + print(".", end='', flush=True) + description = {"device_id": int(os.path.splitext(file)[0]), "date": datetime.now().isoformat()} + files = { + "file": ( + os.path.basename(file), + open(full_filename, 'rb').read(), + 'audio/wave', + {'Content-length': os.path.getsize(full_filename)} + ), + "description": (None, json.dumps(description), "application/json") + } + + r = requests.post("http://127.0.0.1:8000/filter", files=files) + r.raise_for_status() + + +if __name__ == '__main__': + main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..023ec63 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +requests +flask \ No newline at end of file