MCPcopy Index your code
hub / github.com/fabioz/PyDev.Debugger / start_console_server

Function start_console_server

pydevconsole.py:358–427  ·  view source on GitHub ↗
(host, port, interpreter)

Source from the content-addressed store, hash-verified

356# start_console_server
357# =======================================================================================================================
358def start_console_server(host, port, interpreter):
359 try:
360 if port == 0:
361 host = ""
362
363 # I.e.: supporting the internal Jython version in PyDev to create a Jython interactive console inside Eclipse.
364 from _pydev_bundle.pydev_imports import SimpleXMLRPCServer as XMLRPCServer # @Reimport
365
366 try:
367 server = XMLRPCServer((host, port), logRequests=False, allow_none=True)
368
369 except:
370 sys.stderr.write(
371 'Error starting server with host: "%s", port: "%s", client_port: "%s"\n' % (host, port, interpreter.client_port)
372 )
373 sys.stderr.flush()
374 raise
375
376 # Tell UMD the proper default namespace
377 _set_globals_function(interpreter.get_namespace)
378
379 server.register_function(interpreter.execLine)
380 server.register_function(interpreter.execMultipleLines)
381 server.register_function(interpreter.getCompletions)
382 server.register_function(interpreter.getFrame)
383 server.register_function(interpreter.getVariable)
384 server.register_function(interpreter.changeVariable)
385 server.register_function(interpreter.getDescription)
386 server.register_function(interpreter.close)
387 server.register_function(interpreter.interrupt)
388 server.register_function(interpreter.handshake)
389 server.register_function(interpreter.connectToDebugger)
390 server.register_function(interpreter.hello)
391 server.register_function(interpreter.getArray)
392 server.register_function(interpreter.evaluate)
393 server.register_function(interpreter.ShowConsole)
394 server.register_function(interpreter.loadFullValue)
395
396 # Functions for GUI main loop integration
397 server.register_function(interpreter.enableGui)
398
399 if port == 0:
400 (h, port) = server.socket.getsockname()
401
402 print(port)
403 print(interpreter.client_port)
404
405 while True:
406 try:
407 server.serve_forever()
408 except:
409 # Ugly code to be py2/3 compatible
410 # https://sw-brainwy.rhcloud.com/tracker/PyDev/534:
411 # Unhandled "interrupted system call" error in the pydevconsol.py
412 e = sys.exc_info()[1]
413 retry = False
414 try:
415 retry = e.args[0] == 4 # errno.EINTR

Callers

nothing calls this directly

Calls 6

_set_globals_functionFunction · 0.90
exceptionMethod · 0.80
putMethod · 0.80
writeMethod · 0.45
flushMethod · 0.45

Tested by

no test coverage detected