Commit 21277593 by Oleksandr Barabash

changed back to thread input

parent 388f3d71
...@@ -29,7 +29,7 @@ flags.DEFINE_string('file', None, "File where to save the history") ...@@ -29,7 +29,7 @@ flags.DEFINE_string('file', None, "File where to save the history")
def silence_event_loop_closed(func): def silence_event_loop_closed(func):
""" prevent error when closing on windows """ """ prevent error when closing on windows """
@wraps(func) @wraps(func)
def wrapper(self, *args, **kwargs): def wrapper(_self, *_args, **_kwargs):
""" wrapper """ """ wrapper """
pass pass
return wrapper return wrapper
...@@ -183,34 +183,6 @@ def stop_server(server: WSClient, packet_logger: PacketLogger, ...@@ -183,34 +183,6 @@ def stop_server(server: WSClient, packet_logger: PacketLogger,
return wr return wr
class KeyboardListener:
""" Fake keyboard listener """
def __init__(self, server: WSClient, packet_logger: PacketLogger,
io_loop: AbstractEventLoop):
self.server = server
self.packet_logger = packet_logger
self.io_loop = io_loop
def start(self):
""" start """
self.io_loop.create_task(self.run())
def stop(self):
""" stop """
stop_server(self.server, self.packet_logger, self.io_loop)(None, None)
# noinspection PyBroadException
async def run(self):
""" routine """
while True:
data = (await self.io_loop.run_in_executor(None, input, ""))
try:
if data.strip().lower() == "q":
return self.stop()
except Exception:
pass
def main(_argv) -> int: def main(_argv) -> int:
""" main """ """ main """
# When main is called, means logging has been changed on the abseil level # When main is called, means logging has been changed on the abseil level
...@@ -229,14 +201,19 @@ def main(_argv) -> int: ...@@ -229,14 +201,19 @@ def main(_argv) -> int:
path="/api/v1/ws-agg", path="/api/v1/ws-agg",
user="kraken", password="kraken", ca_file="./ca.pem", user="kraken", password="kraken", ca_file="./ca.pem",
on_data_handler=on_data_handler(packet_logger)) on_data_handler=on_data_handler(packet_logger))
listener = KeyboardListener(ws_client, packet_logger, io_loop)
ws_client.start() ws_client.start()
listener.start()
signal.signal(signal.SIGINT, stop_server(ws_client, packet_logger, signal.signal(signal.SIGINT, stop_server(ws_client, packet_logger,
io_loop)) io_loop))
signal.signal(signal.SIGTERM, stop_server(ws_client, packet_logger, signal.signal(signal.SIGTERM, stop_server(ws_client, packet_logger,
io_loop)) io_loop))
io_loop.run_forever() thread = Thread(target=io_loop.run_forever)
thread.start()
while True:
command = input().strip().lower()[:1]
if command == "q":
stop_server(ws_client, packet_logger, io_loop)(None, None)
thread.join()
break
return 0 return 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment