Add next() and __iter__() methods to StreamReader, StreamReaderWriter
and StreamRecoder.
This closes SF bug #634246.
diff --git a/Lib/codecs.py b/Lib/codecs.py
index 40f0a2e..0b43a72 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -299,6 +299,17 @@
"""
pass
+ def next(self):
+
+ """ Return the next decoded line from the input stream."""
+ line = self.readline()
+ if line:
+ return line
+ raise StopIteration
+
+ def __iter__(self):
+ return self
+
def __getattr__(self, name,
getattr=getattr):
@@ -351,6 +362,14 @@
return self.reader.readlines(sizehint)
+ def next(self):
+
+ """ Return the next decoded line from the input stream."""
+ return self.reader.next()
+
+ def __iter__(self):
+ return self
+
def write(self, data):
return self.writer.write(data)
@@ -451,6 +470,14 @@
data, bytesencoded = self.encode(data, self.errors)
return data.splitlines(1)
+ def next(self):
+
+ """ Return the next decoded line from the input stream."""
+ return self.reader.next()
+
+ def __iter__(self):
+ return self
+
def write(self, data):
data, bytesdecoded = self.decode(data, self.errors)