mirror of
https://github.com/FAUSheppy/ths-speech
synced 2025-12-07 15:51:36 +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 socketserver
|
||||||
import server interface
|
import server_interface
|
||||||
|
|
||||||
class AppRequestHandler(socketserver.BaseRequestHandler):
|
class AppRequestHandler(socketserver.BaseRequestHandler):
|
||||||
def __init__(self, request, client_address, server):
|
def __init__(self, request, client_address, server):
|
||||||
@@ -11,13 +12,29 @@ class AppRequestHandler(socketserver.BaseRequestHandler):
|
|||||||
return socketserver.BaseRequestHandler.setup(self)
|
return socketserver.BaseRequestHandler.setup(self)
|
||||||
|
|
||||||
def handle(self):
|
def handle(self):
|
||||||
data = self.request.recv(1024)
|
data = b""
|
||||||
retval = server_interface.parse_request(data)
|
while True:
|
||||||
self.request.send(retval)
|
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
|
return
|
||||||
|
|
||||||
def finish(self):
|
def finish(self):
|
||||||
return socketserver.BaseRequestHandler.finish(self)
|
return socketserver.BaseRequestHandler.finish(self)
|
||||||
|
|
||||||
def start_server():
|
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):
|
def reply_logs(loglevel=0,lines=100):
|
||||||
''' replies with recent logs '''
|
''' replies with recent logs '''
|
||||||
pass
|
pass
|
||||||
@@ -21,3 +49,5 @@ def recive_transcribe_request(audiofile):
|
|||||||
''' saves and transcribes and audiofile '''
|
''' saves and transcribes and audiofile '''
|
||||||
pass
|
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