From: <nr...@us...> - 2009-07-26 07:45:54
|
Revision: 6586 http://jython.svn.sourceforge.net/jython/?rev=6586&view=rev Author: nriley Date: 2009-07-26 07:45:38 +0000 (Sun, 26 Jul 2009) Log Message: ----------- JSR 223: use Writer and ErrorWriter from ScriptContext; remove unnecessary PySystemState setting. Modified Paths: -------------- trunk/jython/src/org/python/jsr223/PyScriptEngine.java Modified: trunk/jython/src/org/python/jsr223/PyScriptEngine.java =================================================================== --- trunk/jython/src/org/python/jsr223/PyScriptEngine.java 2009-07-25 22:34:45 UTC (rev 6585) +++ trunk/jython/src/org/python/jsr223/PyScriptEngine.java 2009-07-26 07:45:38 UTC (rev 6586) @@ -30,11 +30,13 @@ } public Object eval(String script, ScriptContext context) throws ScriptException { - return eval(compileScript(script, context)); + return eval(compileScript(script, context), context); } - private Object eval(PyCode code) throws ScriptException { + private Object eval(PyCode code, ScriptContext context) throws ScriptException { try { + interp.setOut(context.getWriter()); + interp.setErr(context.getErrorWriter()); return interp.eval(code).__tojava__(Object.class); } catch (PyException pye) { throw scriptException(pye); @@ -42,7 +44,7 @@ } public Object eval(Reader reader, ScriptContext context) throws ScriptException { - return eval(compileScript(reader, context)); + return eval(compileScript(reader, context), context); } public Bindings createBindings() { @@ -190,11 +192,9 @@ private class PyCompiledScript extends CompiledScript { private PyCode code; - private PySystemState systemState; PyCompiledScript(PyCode code) { this.code = code; - this.systemState = Py.getSystemState(); } public ScriptEngine getEngine() { @@ -202,9 +202,7 @@ } public Object eval(ScriptContext ctx) throws ScriptException { - // can't read filename from context at this point - Py.setSystemState(systemState); - return PyScriptEngine.this.eval(code); + return PyScriptEngine.this.eval(code, ctx); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |