Commit 42182eba authored by Raymond Hettinger's avatar Raymond Hettinger

SF 698520: Iterator for urllib.URLOpener

Contributed by Brett Cannon.
parent e9e20a98
...@@ -27,7 +27,8 @@ if the server returns an error code, the \exception{IOError} exception ...@@ -27,7 +27,8 @@ if the server returns an error code, the \exception{IOError} exception
is raised. If all went well, a file-like object is returned. This is raised. If all went well, a file-like object is returned. This
supports the following methods: \method{read()}, \method{readline()}, supports the following methods: \method{read()}, \method{readline()},
\method{readlines()}, \method{fileno()}, \method{close()}, \method{readlines()}, \method{fileno()}, \method{close()},
\method{info()} and \method{geturl()}. \method{info()} and \method{geturl()}. It also has proper support for
the iterator protocol.
Except for the \method{info()} and \method{geturl()} methods, Except for the \method{info()} and \method{geturl()} methods,
these methods have the same interface as for these methods have the same interface as for
......
...@@ -780,6 +780,10 @@ class addbase: ...@@ -780,6 +780,10 @@ class addbase:
self.readline = self.fp.readline self.readline = self.fp.readline
if hasattr(self.fp, "readlines"): self.readlines = self.fp.readlines if hasattr(self.fp, "readlines"): self.readlines = self.fp.readlines
if hasattr(self.fp, "fileno"): self.fileno = self.fp.fileno if hasattr(self.fp, "fileno"): self.fileno = self.fp.fileno
if hasattr(self.fp, "__iter__"):
self.__iter__ = self.fp.__iter__
if hasattr(self.fp, "next"):
self.next = self.fp.next
def __repr__(self): def __repr__(self):
return '<%s at %s whose fp = %s>' % (self.__class__.__name__, return '<%s at %s whose fp = %s>' % (self.__class__.__name__,
......
...@@ -46,6 +46,9 @@ Extension modules ...@@ -46,6 +46,9 @@ Extension modules
Library Library
------- -------
- The urllib module now offers support for the iterator protocol.
SF patch 698520 contributed by Brett Cannon.
- New module timeit provides a simple framework for timing the - New module timeit provides a simple framework for timing the
execution speed of expressions and statements. execution speed of expressions and statements.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment