
Benjamin Rutt wrote:
Dear twisted-python, � I�m trying to integrate a python REPL into my existing twisted 8.2.0 client-side program (which talks to another twisted server running a custom protocol).� This client side program uses twisted.internet.stdio.StandardIO already to interact with the user, to read commands from the user and send them to the server.� What�s the best way to add functionality to drop into a python REPL?� I adapted the doc/core/examples/stdin.py code below to drop into the �code� stdlib
Use twisted.conch.manhole.ManholeInterpreter. Here's its docstring: class ManholeInterpreter(code.InteractiveInterpreter): """Interactive Interpreter with special output and Deferred support. Aside from the features provided by L{code.InteractiveInterpreter}, this class captures sys.stdout output and redirects it to the appropriate location (the Manhole protocol instance). It also treats Deferreds which reach the top-level specially: each is formatted to the user with a unique identifier and a new callback and errback added to it, each of which will format the unique identifier and the result with which the Deferred fires and then pass it on to the next participant in the callback chain. """ -Andrew.