Commit d5d8fc55 authored by Jeremy Hylton's avatar Jeremy Hylton

Replace all type comparisons with isinstance() calls

parent af86470e
...@@ -300,7 +300,7 @@ class OpenerDirector: ...@@ -300,7 +300,7 @@ class OpenerDirector:
def open(self, fullurl, data=None): def open(self, fullurl, data=None):
# accept a URL or a Request object # accept a URL or a Request object
if type(fullurl) == types.StringType: if isinstance(fullurl, types.StringType):
req = Request(fullurl, data) req = Request(fullurl, data)
else: else:
req = fullurl req = fullurl
...@@ -350,7 +350,7 @@ def is_callable(obj): ...@@ -350,7 +350,7 @@ def is_callable(obj):
types.BuiltinMethodType, types.LambdaType, types.BuiltinMethodType, types.LambdaType,
types.MethodType): types.MethodType):
return 1 return 1
if type(obj) == types.InstanceType: if isinstance(obj, types.InstanceType):
return hasattr(obj, '__call__') return hasattr(obj, '__call__')
return 0 return 0
...@@ -364,7 +364,7 @@ def get_methods(inst): ...@@ -364,7 +364,7 @@ def get_methods(inst):
classes = classes + list(klass.__bases__) classes = classes + list(klass.__bases__)
for name in dir(klass): for name in dir(klass):
attr = getattr(klass, name) attr = getattr(klass, name)
if type(attr) == types.UnboundMethodType: if isinstance(attr, types.UnboundMethodType):
methods[name] = 1 methods[name] = 1
for name in dir(inst): for name in dir(inst):
if is_callable(getattr(inst, name)): if is_callable(getattr(inst, name)):
...@@ -396,10 +396,10 @@ def build_opener(*handlers): ...@@ -396,10 +396,10 @@ def build_opener(*handlers):
skip = [] skip = []
for klass in default_classes: for klass in default_classes:
for check in handlers: for check in handlers:
if type(check) == types.ClassType: if isinstance(check, types.ClassType):
if issubclass(check, klass): if issubclass(check, klass):
skip.append(klass) skip.append(klass)
elif type(check) == types.InstanceType: elif isinstance(check, types.InstanceType):
if isinstance(check, klass): if isinstance(check, klass):
skip.append(klass) skip.append(klass)
for klass in skip: for klass in skip:
...@@ -409,7 +409,7 @@ def build_opener(*handlers): ...@@ -409,7 +409,7 @@ def build_opener(*handlers):
opener.add_handler(klass()) opener.add_handler(klass())
for h in handlers: for h in handlers:
if type(h) == types.ClassType: if isinstance(h, types.ClassType):
h = h() h = h()
opener.add_handler(h) opener.add_handler(h)
return opener return opener
...@@ -542,7 +542,7 @@ class HTTPPasswordMgr: ...@@ -542,7 +542,7 @@ class HTTPPasswordMgr:
def add_password(self, realm, uri, user, passwd): def add_password(self, realm, uri, user, passwd):
# uri could be a single URI or a sequence # uri could be a single URI or a sequence
if type(uri) == types.StringType: if isinstance(uri, types.StringType):
uri = [uri] uri = [uri]
uri = tuple(map(self.reduce_uri, uri)) uri = tuple(map(self.reduce_uri, uri))
if not self.passwd.has_key(realm): if not self.passwd.has_key(realm):
...@@ -1055,7 +1055,7 @@ class OpenerFactory: ...@@ -1055,7 +1055,7 @@ class OpenerFactory:
def build_opener(self): def build_opener(self):
opener = OpenerDirector() opener = OpenerDirector()
for ph in self.proxy_handlers: for ph in self.proxy_handlers:
if type(ph) == types.ClassType: if isinstance(ph, types.ClassType):
ph = ph() ph = ph()
opener.add_handler(ph) opener.add_handler(ph)
...@@ -1121,7 +1121,7 @@ if __name__ == "__main__": ...@@ -1121,7 +1121,7 @@ if __name__ == "__main__":
#install_opener(build_opener(dauth, bauth, cfh, GopherHandler, ph)) #install_opener(build_opener(dauth, bauth, cfh, GopherHandler, ph))
for url in urls: for url in urls:
if type(url) == types.TupleType: if isinstance(url, types.TupleType):
url, req = url url, req = url
else: else:
req = None req = None
......
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