[wwwsearch-commits] r26641 - wwwsearch/mechanize/branch/mechanize-0.1.0-devel/mechanize

jjlee at codespeak.net jjlee at codespeak.net
Tue May 2 02:18:13 CEST 2006


Author: jjlee
Date: Tue May  2 02:18:13 2006
New Revision: 26641

Modified:
   wwwsearch/mechanize/branch/mechanize-0.1.0-devel/mechanize/_useragent.py
Log:
Friendlify set_handled_schemes

Modified: wwwsearch/mechanize/branch/mechanize-0.1.0-devel/mechanize/_useragent.py
==============================================================================
--- wwwsearch/mechanize/branch/mechanize-0.1.0-devel/mechanize/_useragent.py	(original)
+++ wwwsearch/mechanize/branch/mechanize-0.1.0-devel/mechanize/_useragent.py	Tue May  2 02:18:13 2006
@@ -192,17 +192,20 @@
 ##         self._ftp_conn_cache = conn_cache
 
     def set_handled_schemes(self, schemes):
-        """Set sequence of protocol scheme strings.
+        """Set sequence of URL scheme (protocol) strings.
+
+        For example: ua.set_handled_schemes(["http", "ftp"])
 
         If this fails (with ValueError) because you've passed an unknown
-        scheme, the set of handled schemes WILL be updated, but schemes in the
-        list that come after the unknown scheme won't be handled.
+        scheme, the set of handled schemes will not be changed.
 
         """
         want = {}
         for scheme in schemes:
             if scheme.startswith("_"):
-                raise ValueError("invalid scheme '%s'" % scheme)
+                raise ValueError("not a scheme '%s'" % scheme)
+            if scheme not in self.handler_classes:
+                raise ValueError("unknown scheme '%s'")
             want[scheme] = None
 
         # get rid of scheme handlers we don't want
@@ -214,8 +217,6 @@
                 del want[scheme]  # already got it
         # add the scheme handlers that are missing
         for scheme in want.keys():
-            if scheme not in self.handler_classes:
-                raise ValueError("unknown scheme '%s'")
             self._set_handler(scheme, True)
 
     def _add_referer_header(self, request, origin_request=True):


More information about the wwwsearch-commits mailing list