[Python-checkins] cpython (3.4): simplify check, since now there are only new-style classes

benjamin.peterson python-checkins at python.org
Tue Apr 1 20:21:10 CEST 2014


http://hg.python.org/cpython/rev/abb85902ce79
changeset:   90090:abb85902ce79
branch:      3.4
parent:      90088:4a2dabac976d
user:        Benjamin Peterson <benjamin at python.org>
date:        Tue Apr 01 14:20:56 2014 -0400
summary:
  simplify check, since now there are only new-style classes

files:
  Lib/urllib/request.py |  7 ++-----
  1 files changed, 2 insertions(+), 5 deletions(-)


diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -511,9 +511,6 @@
     If any of the handlers passed as arguments are subclasses of the
     default handlers, the default handlers will not be used.
     """
-    def isclass(obj):
-        return isinstance(obj, type) or hasattr(obj, "__bases__")
-
     opener = OpenerDirector()
     default_classes = [ProxyHandler, UnknownHandler, HTTPHandler,
                        HTTPDefaultErrorHandler, HTTPRedirectHandler,
@@ -524,7 +521,7 @@
     skip = set()
     for klass in default_classes:
         for check in handlers:
-            if isclass(check):
+            if instance(check, type):
                 if issubclass(check, klass):
                     skip.add(klass)
             elif isinstance(check, klass):
@@ -536,7 +533,7 @@
         opener.add_handler(klass())
 
     for h in handlers:
-        if isclass(h):
+        if isinstance(h, type):
             h = h()
         opener.add_handler(h)
     return opener

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list