PEP8 remove direct type comparisons
Fixes bug #910763 According to PEP8, - Object type comparisons should always use isinstance() instead of comparing types directly. Yes: if isinstance(obj, int): No: if type(obj) is type(1): When checking if an object is a string, keep in mind that it might be a unicode string too! In Python 2.3, str and unicode have a common base class, basestring, so you can do: if isinstance(obj, basestring): Change-Id: I7c0fdecf99872f5b8f72b2c2ed4f5c539c33def1
This commit is contained in:
@@ -1084,7 +1084,7 @@ class ServiceCommands(object):
|
||||
{"method": "show_host_resources",
|
||||
"args": {"host": host}})
|
||||
|
||||
if type(result) != dict:
|
||||
if not isinstance(result, dict):
|
||||
print _('An unexpected error has occurred.')
|
||||
print _('[Result]'), result
|
||||
else:
|
||||
|
||||
@@ -85,7 +85,7 @@ def _clean(attr):
|
||||
"""Clean attr for insertion into ldap"""
|
||||
if attr is None:
|
||||
return None
|
||||
if type(attr) is unicode:
|
||||
if isinstance(attr, unicode):
|
||||
return str(attr)
|
||||
return attr
|
||||
|
||||
|
||||
@@ -962,9 +962,9 @@ class ConfigOpts(object):
|
||||
:param value: the string value, or list of string values
|
||||
:returns: the substituted string(s)
|
||||
"""
|
||||
if type(value) is list:
|
||||
if isinstance(value, list):
|
||||
return [self._substitute(i) for i in value]
|
||||
elif type(value) is str:
|
||||
elif isinstance(value, str):
|
||||
tmpl = string.Template(value)
|
||||
return tmpl.safe_substitute(self.StrSubWrapper(self))
|
||||
else:
|
||||
|
||||
@@ -24,11 +24,11 @@ No fan-out support yet.
|
||||
|
||||
"""
|
||||
|
||||
import inspect
|
||||
import json
|
||||
import sys
|
||||
import time
|
||||
import traceback
|
||||
import types
|
||||
import uuid
|
||||
|
||||
from carrot import connection as carrot_connection
|
||||
@@ -284,7 +284,7 @@ class AdapterConsumer(Consumer):
|
||||
try:
|
||||
rval = node_func(context=ctxt, **node_args)
|
||||
# Check if the result was a generator
|
||||
if isinstance(rval, types.GeneratorType):
|
||||
if inspect.isgenerator(rval):
|
||||
for x in rval:
|
||||
ctxt.reply(x, None)
|
||||
else:
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
queues. Casts will block, but this is very useful for tests.
|
||||
"""
|
||||
|
||||
import inspect
|
||||
import sys
|
||||
import traceback
|
||||
import types
|
||||
|
||||
from nova import context
|
||||
from nova.rpc import common as rpc_common
|
||||
@@ -60,7 +60,7 @@ class Consumer(object):
|
||||
# if ending not 'sent'...we might have more data to
|
||||
# return from the function itself
|
||||
if not ctxt._done:
|
||||
if isinstance(rval, types.GeneratorType):
|
||||
if inspect.isgenerator(rval):
|
||||
for val in rval:
|
||||
yield val
|
||||
else:
|
||||
|
||||
@@ -18,11 +18,11 @@ import kombu
|
||||
import kombu.entity
|
||||
import kombu.messaging
|
||||
import kombu.connection
|
||||
import inspect
|
||||
import itertools
|
||||
import sys
|
||||
import time
|
||||
import traceback
|
||||
import types
|
||||
import uuid
|
||||
|
||||
import eventlet
|
||||
@@ -651,7 +651,7 @@ class ProxyCallback(object):
|
||||
try:
|
||||
rval = node_func(context=ctxt, **node_args)
|
||||
# Check if the result was a generator
|
||||
if isinstance(rval, types.GeneratorType):
|
||||
if inspect.isgenerator(rval):
|
||||
for x in rval:
|
||||
ctxt.reply(x, None)
|
||||
else:
|
||||
|
||||
@@ -21,7 +21,6 @@ Weighing Functions.
|
||||
|
||||
import json
|
||||
import operator
|
||||
import types
|
||||
|
||||
import M2Crypto
|
||||
|
||||
@@ -358,7 +357,7 @@ class DistributedScheduler(driver.Scheduler):
|
||||
return getattr(filters, nm)
|
||||
|
||||
return [get_itm(itm) for itm in dir(filters)
|
||||
if (type(get_itm(itm)) is types.TypeType)
|
||||
if isinstance(get_itm(itm), type)
|
||||
and issubclass(get_itm(itm), filters.AbstractHostFilter)
|
||||
and get_itm(itm) is not filters.AbstractHostFilter]
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ class ReadOnlyDict(UserDict.IterableUserDict):
|
||||
return
|
||||
elif isinstance(source, UserDict.UserDict):
|
||||
self.data = source.data
|
||||
elif isinstance(source, type({})):
|
||||
elif isinstance(source, dict):
|
||||
self.data = source
|
||||
else:
|
||||
raise TypeError
|
||||
|
||||
@@ -33,7 +33,6 @@ import socket
|
||||
import struct
|
||||
import sys
|
||||
import time
|
||||
import types
|
||||
import uuid
|
||||
import pyclbr
|
||||
from xml.sax import saxutils
|
||||
@@ -176,11 +175,11 @@ def execute(*cmd, **kwargs):
|
||||
process_input = kwargs.pop('process_input', None)
|
||||
check_exit_code = kwargs.pop('check_exit_code', [0])
|
||||
ignore_exit_code = False
|
||||
if type(check_exit_code) == int:
|
||||
check_exit_code = [check_exit_code]
|
||||
elif type(check_exit_code) == bool:
|
||||
if isinstance(check_exit_code, bool):
|
||||
ignore_exit_code = not check_exit_code
|
||||
check_exit_code = [0]
|
||||
elif isinstance(check_exit_code, int):
|
||||
check_exit_code = [check_exit_code]
|
||||
delay_on_retry = kwargs.pop('delay_on_retry', True)
|
||||
attempts = kwargs.pop('attempts', 1)
|
||||
run_as_root = kwargs.pop('run_as_root', False)
|
||||
@@ -569,7 +568,7 @@ class LazyPluggable(object):
|
||||
raise exception.Error(_('Invalid backend: %s') % backend_name)
|
||||
|
||||
backend = self.__backends[backend_name]
|
||||
if type(backend) == type(tuple()):
|
||||
if isinstance(backend, tuple):
|
||||
name = backend[0]
|
||||
fromlist = backend[1]
|
||||
else:
|
||||
@@ -696,13 +695,13 @@ def to_primitive(value, convert_instances=False, level=0):
|
||||
# The try block may not be necessary after the class check above,
|
||||
# but just in case ...
|
||||
try:
|
||||
if type(value) is type([]) or type(value) is type((None,)):
|
||||
if isinstance(value, (list, tuple)):
|
||||
o = []
|
||||
for v in value:
|
||||
o.append(to_primitive(v, convert_instances=convert_instances,
|
||||
level=level))
|
||||
return o
|
||||
elif type(value) is type({}):
|
||||
elif isinstance(value, dict):
|
||||
o = {}
|
||||
for k, v in value.iteritems():
|
||||
o[k] = to_primitive(v, convert_instances=convert_instances,
|
||||
@@ -858,7 +857,7 @@ def get_from_path(items, path):
|
||||
if items is None:
|
||||
return results
|
||||
|
||||
if not isinstance(items, types.ListType):
|
||||
if not isinstance(items, list):
|
||||
# Wrap single objects in a list
|
||||
items = [items]
|
||||
|
||||
@@ -871,7 +870,7 @@ def get_from_path(items, path):
|
||||
child = get_method(first_token)
|
||||
if child is None:
|
||||
continue
|
||||
if isinstance(child, types.ListType):
|
||||
if isinstance(child, list):
|
||||
# Flatten intermediate lists
|
||||
for x in child:
|
||||
results.append(x)
|
||||
|
||||
Reference in New Issue
Block a user