[IronPython] Are two PythonEngine instances connected?

Kristof Wagemans kristof.wagemans at gmail.com
Sun Apr 16 15:02:23 CEST 2006


I've created two PythonEngine instances and set the Stdout for each instance
to its own custom stream class (PythonStream) to capture the output. This
stream class takes a delegate to specify the function to receive the
response.

 

    class Tester

    {

        public void Test()

        {

            PythonEngine pythonEngine1 = new PythonEngine();

            pythonEngine1.SetStdout(new
PythonStream(ResponsePythonEngine1));

 

            Console.WriteLine("pythonEngine1.Execute(\"'p1'\") -> ");

            pythonEngine1.Execute("'p1'");

            Console.WriteLine("");

 

            PythonEngine pythonEngine2 = new PythonEngine();

            pythonEngine2.SetStdout(new
PythonStream(ResponsePythonEngine2));

 

            Console.WriteLine("pythonEngine2.Execute(\"'p2'\") -> ");

            pythonEngine2.Execute("'p2'");

            Console.WriteLine("");

 

            Console.WriteLine("pythonEngine1.Execute(\"'p1'\") -> ");

            pythonEngine1.Execute("'p1'");

            Console.WriteLine("");

 

            Console.ReadLine();

        }

 

        void ResponsePythonEngine1(string text)

        {

            if (!string.IsNullOrEmpty(text.Trim()))

            {

                Console.WriteLine("  ResponsePythonEngine1 -> " + text);

            }

        }

 

        void ResponsePythonEngine2(string text)

        {

            if (!string.IsNullOrEmpty(text.Trim()))

            {

                Console.WriteLine("  ResponsePythonEngine2 -> " + text);

            }

        }

    }

 

 

After pythonEngine2 is created I receive the responses from commands
executed on pythonEngine1 on the output of pythonEngine2.

 

pythonEngine1.Execute("'p1'") ->

  ResponsePythonEngine1 -> 'p1'

 

pythonEngine2.Execute("'p2'") ->

  ResponsePythonEngine2 -> 'p2'

 

pythonEngine1.Execute("'p1'") ->

  ResponsePythonEngine2 -> 'p1'

 

 

You can find my test application here:

http://users.telenet.be/kristof.wagemans/PythonEngineConnected.zip

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060416/1e235cab/attachment.html>


More information about the Ironpython-users mailing list