From a8f83044a27bbb6df7f89e52ad14c734b039e712 Mon Sep 17 00:00:00 2001 From: Alexander Koshevoy Date: Tue, 19 Jun 2018 11:45:26 +0300 Subject: [PATCH] PY-18029 Fix Python console for Docker and Docker Compose * Use `server` mode for Python console. * Support `port` parameter for `server` mode. * Wait for `server` to be started and then try to connect. --- python/helpers/pydev/pydevconsole.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/python/helpers/pydev/pydevconsole.py b/python/helpers/pydev/pydevconsole.py index 70d4af58eaf6..81c7e4e6d1ce 100644 --- a/python/helpers/pydev/pydevconsole.py +++ b/python/helpers/pydev/pydevconsole.py @@ -349,7 +349,10 @@ def enable_thrift_logging(): logger.addHandler(ch) -def start_server(): +def start_server(port): + if port is None: + port = 0 + # 0. General stuff #replace exit (see comments on method) @@ -371,7 +374,7 @@ def start_server(): # `InterpreterInterface` implements all methods required for the handler server_handler = interpreter - server_socket = start_rpc_server_and_make_client('', 0, server_service, client_service, server_handler) + server_socket = start_rpc_server_and_make_client('', port, server_service, client_service, server_handler) # 2. Print server port for the IDE @@ -606,4 +609,4 @@ if __name__ == '__main__': pydevconsole.start_client(host, port) elif mode == 'server': - pydevconsole.start_server() + pydevconsole.start_server(port)