mirror of
https://github.com/FAUSheppy/ths-speech
synced 2025-12-06 07:51:34 +01:00
Server fixes
This commit is contained in:
29
python-server/exec_server.py
Normal file → Executable file
29
python-server/exec_server.py
Normal file → Executable file
@@ -1,6 +1,7 @@
|
||||
#/usr/bin/python3
|
||||
#!/usr/bin/python3
|
||||
|
||||
import socketserver
|
||||
import server interface
|
||||
import server_interface
|
||||
|
||||
class AppRequestHandler(socketserver.BaseRequestHandler):
|
||||
def __init__(self, request, client_address, server):
|
||||
@@ -11,13 +12,29 @@ class AppRequestHandler(socketserver.BaseRequestHandler):
|
||||
return socketserver.BaseRequestHandler.setup(self)
|
||||
|
||||
def handle(self):
|
||||
data = self.request.recv(1024)
|
||||
retval = server_interface.parse_request(data)
|
||||
self.request.send(retval)
|
||||
data = b""
|
||||
while True:
|
||||
tmp = self.request.recv(1024)
|
||||
if not tmp or b"\nterminate\n" in tmp:
|
||||
if len(tmp) > len("\nterminate\n"):
|
||||
data += tmp[:-len("\nterminate\n")]
|
||||
break
|
||||
data += tmp
|
||||
print("Request: {}".format(data))
|
||||
retval = server_interface.parse_request(data)
|
||||
self.request.send(retval)
|
||||
self.request.send(b"terminate\n")
|
||||
print("Replied with: {}".format(retval))
|
||||
return
|
||||
|
||||
def finish(self):
|
||||
return socketserver.BaseRequestHandler.finish(self)
|
||||
|
||||
def start_server():
|
||||
server = socketserver.Server(("localhost",7100),AppRequestHandler)
|
||||
socketserver.TCPServer.allow_reuse_address = True
|
||||
server = socketserver.TCPServer(("0.0.0.0",7100),AppRequestHandler)
|
||||
server.serve_forever()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
start_server()
|
||||
|
||||
@@ -1,3 +1,31 @@
|
||||
def parse_request(data):
|
||||
''' parse request and call correct function '''
|
||||
|
||||
# echo/test connection
|
||||
cleared_data = is_data_type(b"ECHOREQUEST,",data)
|
||||
if cleared_data:
|
||||
return cleared_data
|
||||
cleared_data = is_data_type(b"AUDIO_TRANSMISSION,",data)
|
||||
if cleared_data:
|
||||
with open("test.wav","wb") as f:
|
||||
f.write(cleared_data)
|
||||
return b"SUCCESS"
|
||||
|
||||
# other shit
|
||||
return b"UNRECOGNIZED_SERVER_OPTION\n"
|
||||
|
||||
|
||||
|
||||
def is_data_type(tag,data):
|
||||
data = data.strip(b"\n")
|
||||
if data.startswith(tag):
|
||||
ret = data.split(tag)[1]
|
||||
if not ret:
|
||||
ret = b"NULL\n"
|
||||
return ret
|
||||
return None
|
||||
|
||||
|
||||
def reply_logs(loglevel=0,lines=100):
|
||||
''' replies with recent logs '''
|
||||
pass
|
||||
@@ -21,3 +49,5 @@ def recive_transcribe_request(audiofile):
|
||||
''' saves and transcribes and audiofile '''
|
||||
pass
|
||||
|
||||
def android_unittest_transcribe_request(audiofile):
|
||||
''' the android unittests append a special keyword, requests are dummy handled '''
|
||||
|
||||
Reference in New Issue
Block a user