From: <cg...@us...> - 2006-07-20 00:54:39
|
Revision: 2850 Author: cgroves Date: 2006-07-19 17:54:35 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/jython/?rev=2850&view=rev Log Message: ----------- made cStringIO extend PyIterator to make test_StringIO.py pass from patch 1505131 Modified Paths: -------------- branches/2.3/src/org/python/modules/cStringIO.java Modified: branches/2.3/src/org/python/modules/cStringIO.java =================================================================== --- branches/2.3/src/org/python/modules/cStringIO.java 2006-07-20 00:52:35 UTC (rev 2849) +++ branches/2.3/src/org/python/modules/cStringIO.java 2006-07-20 00:54:35 UTC (rev 2850) @@ -9,7 +9,7 @@ package org.python.modules; import org.python.core.Py; -import org.python.core.PyCallIter; +import org.python.core.PyIterator; import org.python.core.PyList; import org.python.core.PyObject; import org.python.core.PyString; @@ -45,7 +45,7 @@ * @see cStringIO#StringIO() * @see cStringIO#StringIO(String) */ - public static class StringIO extends PyObject { + public static class StringIO extends PyIterator { transient public boolean softspace = false; //transient public String name = "<cStringIO>"; //transient public String mode = "w"; @@ -76,8 +76,11 @@ super.__setattr__(name, value); } - public PyObject __iter__() { - return new PyCallIter(__getattr__("readline"), Py.newString("")); + public PyObject __iternext__() { + String r = readline(); + if(r.equals("")) + return null; + return new PyString(r); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |