simplify check, since now there are only new-style classes

This commit is contained in:
Benjamin Peterson 2014-04-01 14:20:56 -04:00
parent 9d08562ed4
commit 5dd3caed2b

View File

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