[wwwsearch-commits] r36050 - wwwsearch/mechanize/trunk/mechanize
jjlee at codespeak.net
jjlee at codespeak.net
Fri Dec 29 23:51:53 CET 2006
Author: jjlee
Date: Fri Dec 29 23:51:51 2006
New Revision: 36050
Modified:
wwwsearch/mechanize/trunk/mechanize/_html.py
Log:
Add a missing copy.copy() to RobustFactory, remove a .seek() call, and note some bugs to fix
Modified: wwwsearch/mechanize/trunk/mechanize/_html.py
==============================================================================
--- wwwsearch/mechanize/trunk/mechanize/_html.py (original)
+++ wwwsearch/mechanize/trunk/mechanize/_html.py Fri Dec 29 23:51:51 2006
@@ -484,25 +484,24 @@
if name not in ["encoding", "is_html", "title"]:
return getattr(self.__class__, name)
- try:
- if name == "encoding":
- self.encoding = self._encoding_finder.encoding(self._response)
- return self.encoding
- elif name == "is_html":
- self.is_html = self._response_type_finder.is_html(
- self._response, self.encoding)
- return self.is_html
- elif name == "title":
- if self.is_html:
- self.title = self._title_factory.title()
- else:
- self.title = None
- return self.title
- elif name == "global_form":
- self.forms()
- return self.global_form
- finally:
- self._response.seek(0)
+ if name == "encoding":
+ self.encoding = self._encoding_finder.encoding(
+ copy.copy(self._response))
+ return self.encoding
+ elif name == "is_html":
+ self.is_html = self._response_type_finder.is_html(
+ copy.copy(self._response), self.encoding)
+ return self.is_html
+ elif name == "title":
+ if self.is_html:
+ self.title = self._title_factory.title()
+ else:
+ self.title = None
+ return self.title
+ elif name == "global_form":
+ assert False # XXXX fixme!
+ self.forms()
+ return self.global_form
def forms(self):
"""Return iterable over ClientForm.HTMLForm-like objects."""
@@ -512,7 +511,7 @@
try:
self._forms_genf = CachingGeneratorFunction(
self._forms_factory.forms())
- except:
+ except: # XXXX define exception!
self.set_response(self._response)
raise
self.global_form = getattr(
@@ -525,7 +524,7 @@
try:
self._links_genf = CachingGeneratorFunction(
self._links_factory.links())
- except:
+ except: # XXXX define exception!
self.set_response(self._response)
raise
return self._links_genf()
@@ -577,7 +576,8 @@
if response is not None:
data = response.read()
soup = self._soup_class(self.encoding, data)
- self._forms_factory.set_response(response, self.encoding)
+ self._forms_factory.set_response(
+ copy.copy(response), self.encoding)
self._links_factory.set_soup(
soup, response.geturl(), self.encoding)
self._title_factory.set_soup(soup, self.encoding)
More information about the wwwsearch-commits
mailing list