ba698f40db
9a9f9ecd-ignore-comments-in-keymap-conf-files.patch 9617d126-systray-Use-APPLICATION_STATUS-for-appindicator.patch e73abe5a-diskbackend-convert-to-long-the-calculated-size.patch 6e6f59e7-diskbackend-get-a-proper-size-of-existing-block-device-while-cloning.patch 23aaf852-network-Set-bridge-name-to-None-instead-of-blank.patch d1e1cf64-progress-remove-trailing-white-space.patch 63fce081-pycodestyle-Use-isinstance-for-type-checking.patch 08a58d61-pycodestyle-remove-description-of-fixed-errors.patch bc3c9a9d-progress-remove-unused-import.patch 2d276ebe-progress-dont-overwrite-format.patch e2ad4b2f-convert-iteritems-to-items.patch dff00d4f-remove-deprecated-statvfs-module.patch 75210ed3-replace-StringIO-with-io.patch a2bcd6c4-dont-compare-between-None-and-int.patch 44de92b7-use-reload-from-imp-module.patch 69c84bea-import-reduce-from-functools-module.patch 37ea5207-replace-StandardError-with-Exception.patch f41aafc7-Use-enumerate-instead-of-range-and-len.patch 91c0669c-cli-Fix-OrderedDict-mutated-during-iteration-on-python3.patch b8fa0c6b-xmlnsqemu-order-XML-output-like-libvirt-does.patch d2648d81-virtconv-dont-implicitly-depend-on-dict-hash-order.patch 999dbb36-cli-Make-VirtCLIArgument-instantiation-less-crazy.patch 7f1b4cee-pycodestyle-fix-all-E125-warnings.patch d82022bd-manager-drop-python2-only-cmp-usage.patch 374a3779-urlfetcher-write-test-file-as-binary-content.patch f7c8cf9f-devicepanic-dont-return-empty-model-list.patch 3be78d1f-addhardware-dont-allow-panic-option-where-not-supported.patch 73de8285-systray-remove-redundant-variable-assignment.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=375
317 lines
12 KiB
Diff
317 lines
12 KiB
Diff
Subject: pycodestyle: Use isinstance() for type checking
|
||
From: Radostin Stoyanov rstoyanov1@gmail.com Wed Oct 11 12:35:41 2017 +0100
|
||
Date: Fri Oct 20 11:49:13 2017 -0400:
|
||
Git: 63fce081ed1e4edf44077546d98b4fcdb3f4884c
|
||
|
||
This is E721 in pycodestyle [1]:
|
||
"do not compare types, use ‘isinstance()’"
|
||
|
||
The main differece between "type() is" and "isinstance()" is that
|
||
isinstance() supports inheritance. [1]
|
||
|
||
This can be seen in the example below:
|
||
>>> type(True) is int
|
||
False
|
||
>>> isinstance(True, int)
|
||
True
|
||
|
||
As we can see in python 'bool' a subclass of 'int'.
|
||
|
||
[1] https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes
|
||
[2] https://docs.python.org/2/library/functions.html#isinstance
|
||
|
||
diff --git a/tests/clitest.py b/tests/clitest.py
|
||
index 7e9e6684..bdc1b448 100644
|
||
--- a/tests/clitest.py
|
||
+++ b/tests/clitest.py
|
||
@@ -201,7 +201,7 @@ class Command(object):
|
||
if conn is None:
|
||
raise RuntimeError("skip check is not None, but conn is None")
|
||
|
||
- if type(check) is str:
|
||
+ if isinstance(check, str):
|
||
# pylint: disable=protected-access
|
||
if support._check_version(conn, check):
|
||
return
|
||
diff --git a/virtManager/connection.py b/virtManager/connection.py
|
||
index 70da9220..0f7e20db 100644
|
||
--- a/virtManager/connection.py
|
||
+++ b/virtManager/connection.py
|
||
@@ -1088,7 +1088,7 @@ class vmmConnection(vmmGObject):
|
||
try:
|
||
self._backend.setKeepAlive(20, 1)
|
||
except Exception as e:
|
||
- if (type(e) is not AttributeError and
|
||
+ if (not isinstance(e, AttributeError) and
|
||
not util.is_error_nosupport(e)):
|
||
raise
|
||
logging.debug("Connection doesn't support KeepAlive, "
|
||
diff --git a/virtManager/create.py b/virtManager/create.py
|
||
index c695b2b2..1fbc65ef 100644
|
||
--- a/virtManager/create.py
|
||
+++ b/virtManager/create.py
|
||
@@ -1692,7 +1692,7 @@ class vmmCreate(vmmGObjectUI):
|
||
else:
|
||
def callback(ignore, text):
|
||
widget = cbwidget
|
||
- if type(cbwidget) is str:
|
||
+ if isinstance(cbwidget, str):
|
||
widget = self.widget(cbwidget)
|
||
widget.set_text(text)
|
||
|
||
diff --git a/virtManager/details.py b/virtManager/details.py
|
||
index e74ea5f7..aeac7fd3 100644
|
||
--- a/virtManager/details.py
|
||
+++ b/virtManager/details.py
|
||
@@ -1520,7 +1520,7 @@ class vmmDetails(vmmGObjectUI):
|
||
# On Fedora 19, ret is (bool, str)
|
||
# Someday the bindings might be fixed to just return the str, try
|
||
# and future proof it a bit
|
||
- if type(ret) is tuple and len(ret) >= 2:
|
||
+ if isinstance(ret, tuple) and len(ret) >= 2:
|
||
ret = ret[1]
|
||
# F24 rawhide, ret[1] is a named tuple with a 'buffer' element...
|
||
if hasattr(ret, "buffer"):
|
||
@@ -3218,7 +3218,7 @@ class vmmDetails(vmmGObjectUI):
|
||
olddev = hw_list_model[i][HW_LIST_COL_DEVICE]
|
||
|
||
# Existing device, don't remove it
|
||
- if type(olddev) is str or olddev in currentDevices:
|
||
+ if isinstance(olddev, str) or olddev in currentDevices:
|
||
continue
|
||
|
||
hw_list_model.remove(_iter)
|
||
diff --git a/virtManager/domain.py b/virtManager/domain.py
|
||
index 724f83fd..1b278815 100644
|
||
--- a/virtManager/domain.py
|
||
+++ b/virtManager/domain.py
|
||
@@ -83,7 +83,7 @@ def compare_device(origdev, newdev, idx):
|
||
if id(origdev) == id(newdev):
|
||
return True
|
||
|
||
- if type(origdev) is not type(newdev):
|
||
+ if not isinstance(origdev, type(newdev)):
|
||
return False
|
||
|
||
for devprop in devprops[origdev.virtual_device_type]:
|
||
diff --git a/virtManager/error.py b/virtManager/error.py
|
||
index 1de6c8b1..1a8fae5a 100644
|
||
--- a/virtManager/error.py
|
||
+++ b/virtManager/error.py
|
||
@@ -275,7 +275,7 @@ class vmmErrorDialog(vmmGObject):
|
||
if _type is not None:
|
||
pattern = _type
|
||
name = None
|
||
- if type(_type) is tuple:
|
||
+ if isinstance(_type, tuple):
|
||
pattern = _type[0]
|
||
name = _type[1]
|
||
|
||
diff --git a/virtManager/module_trace.py b/virtManager/module_trace.py
|
||
index 8d600f4e..ff76504f 100644
|
||
--- a/virtManager/module_trace.py
|
||
+++ b/virtManager/module_trace.py
|
||
@@ -83,7 +83,7 @@ def wrap_class(classobj):
|
||
|
||
for name in dir(classobj):
|
||
obj = getattr(classobj, name)
|
||
- if type(obj) is MethodType:
|
||
+ if isinstance(obj, MethodType):
|
||
wrap_method(classobj, obj)
|
||
|
||
|
||
@@ -92,7 +92,7 @@ def wrap_module(module, regex=None):
|
||
if regex and not re.match(regex, name):
|
||
continue
|
||
obj = getattr(module, name)
|
||
- if type(obj) is FunctionType:
|
||
+ if isinstance(obj, FunctionType):
|
||
wrap_func(module, obj)
|
||
- if type(obj) is ClassType or type(obj) is type:
|
||
+ if isinstance(obj, (ClassType, type)):
|
||
wrap_class(obj)
|
||
diff --git a/virtManager/packageutils.py b/virtManager/packageutils.py
|
||
index 37f96c38..153cc55b 100644
|
||
--- a/virtManager/packageutils.py
|
||
+++ b/virtManager/packageutils.py
|
||
@@ -38,7 +38,7 @@ def check_packagekit(parent, errbox, packages):
|
||
if not packages:
|
||
logging.debug("No PackageKit packages to search for.")
|
||
return
|
||
- if type(packages) is not list:
|
||
+ if not isinstance(packages, list):
|
||
packages = [packages]
|
||
|
||
logging.debug("PackageKit check/install for packages=%s", packages)
|
||
diff --git a/virtManager/uiutil.py b/virtManager/uiutil.py
|
||
index 2965c51b..d07c2a1e 100644
|
||
--- a/virtManager/uiutil.py
|
||
+++ b/virtManager/uiutil.py
|
||
@@ -155,7 +155,7 @@ def set_grid_row_visible(child, visible):
|
||
based on UI interraction
|
||
"""
|
||
parent = child.get_parent()
|
||
- if type(parent) is not Gtk.Grid:
|
||
+ if not isinstance(parent, Gtk.Grid):
|
||
raise RuntimeError("Programming error, parent must be grid, "
|
||
"not %s" % type(parent))
|
||
|
||
diff --git a/virtManager/viewers.py b/virtManager/viewers.py
|
||
index 80bdb083..df164f59 100644
|
||
--- a/virtManager/viewers.py
|
||
+++ b/virtManager/viewers.py
|
||
@@ -614,7 +614,7 @@ class SpiceViewer(Viewer):
|
||
GObject.GObject.connect(channel, "open-fd",
|
||
self._channel_open_fd_request)
|
||
|
||
- if (type(channel) == SpiceClientGLib.MainChannel and
|
||
+ if (isinstance(channel, SpiceClientGLib.MainChannel) and
|
||
not self._main_channel):
|
||
self._main_channel = channel
|
||
hid = self._main_channel.connect_after("channel-event",
|
||
diff --git a/virtconv/ovf.py b/virtconv/ovf.py
|
||
index 0a770c98..3ba21313 100644
|
||
--- a/virtconv/ovf.py
|
||
+++ b/virtconv/ovf.py
|
||
@@ -151,7 +151,7 @@ def _import_file(doc, ctx, conn, input_file):
|
||
ret = ctx.xpathEval(path)
|
||
result = None
|
||
if ret is not None:
|
||
- if type(ret) == list:
|
||
+ if isinstance(ret, list):
|
||
if len(ret) >= 1:
|
||
result = ret[0].content
|
||
else:
|
||
diff --git a/virtinst/cli.py b/virtinst/cli.py
|
||
index 17a2e70f..1b86cad5 100644
|
||
--- a/virtinst/cli.py
|
||
+++ b/virtinst/cli.py
|
||
@@ -1002,7 +1002,7 @@ def _parse_optstr_to_dict(optstr, virtargs, remove_first):
|
||
virtarg.is_list):
|
||
optdict[cliname] = []
|
||
|
||
- if type(optdict.get(cliname)) is list:
|
||
+ if isinstance(optdict.get(cliname), list):
|
||
optdict[cliname].append(val)
|
||
else:
|
||
optdict[cliname] = val
|
||
@@ -2591,7 +2591,7 @@ class _ParserChar(VirtCLIParser):
|
||
stub_none = False
|
||
|
||
def support_check(self, inst, virtarg):
|
||
- if type(virtarg.attrname) is not str:
|
||
+ if not isinstance(virtarg.attrname, str):
|
||
return
|
||
if not inst.supports_property(virtarg.attrname):
|
||
raise ValueError(_("%(devtype)s type '%(chartype)s' does not "
|
||
diff --git a/virtinst/cloner.py b/virtinst/cloner.py
|
||
index 72642f60..7345bdad 100644
|
||
--- a/virtinst/cloner.py
|
||
+++ b/virtinst/cloner.py
|
||
@@ -88,7 +88,7 @@ class Cloner(object):
|
||
doc="Original guest name.")
|
||
|
||
def set_original_xml(self, val):
|
||
- if type(val) is not str:
|
||
+ if not isinstance(val, str):
|
||
raise ValueError(_("Original xml must be a string."))
|
||
self._original_xml = val
|
||
self._original_guest = Guest(self.conn,
|
||
@@ -214,7 +214,7 @@ class Cloner(object):
|
||
"(not Cloner.preserve)")
|
||
|
||
def set_force_target(self, dev):
|
||
- if type(dev) is list:
|
||
+ if isinstance(dev, list):
|
||
self._force_target = dev[:]
|
||
else:
|
||
self._force_target.append(dev)
|
||
@@ -225,7 +225,7 @@ class Cloner(object):
|
||
"despite Cloner's recommendation.")
|
||
|
||
def set_skip_target(self, dev):
|
||
- if type(dev) is list:
|
||
+ if isinstance(dev, list):
|
||
self._skip_target = dev[:]
|
||
else:
|
||
self._skip_target.append(dev)
|
||
@@ -237,7 +237,7 @@ class Cloner(object):
|
||
"takes precedence over force_target.")
|
||
|
||
def set_clone_policy(self, policy_list):
|
||
- if type(policy_list) != list:
|
||
+ if not isinstance(policy_list, list):
|
||
raise ValueError(_("Cloning policy must be a list of rules."))
|
||
self._clone_policy = policy_list
|
||
def get_clone_policy(self):
|
||
diff --git a/virtinst/progress.py b/virtinst/progress.py
|
||
index e9a243b1..d73d4292 100644
|
||
--- a/virtinst/progress.py
|
||
+++ b/virtinst/progress.py
|
||
@@ -482,7 +482,7 @@ def format_number(number, SI=0, space=' '):
|
||
depth = depth + 1
|
||
number = number / step
|
||
|
||
- if type(number) == type(1) or type(number) == type(long(1)):
|
||
+ if isinstance(number, int) or isinstance(number, long):
|
||
# it's an int or a long, which means it didn't get divided,
|
||
# which means it's already short enough
|
||
format = '%i%s%s'
|
||
diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py
|
||
index 2dc7a726..c57c9e10 100644
|
||
--- a/virtinst/urlfetcher.py
|
||
+++ b/virtinst/urlfetcher.py
|
||
@@ -1351,7 +1351,7 @@ class ALTLinuxDistro(Distro):
|
||
def _build_distro_list():
|
||
allstores = []
|
||
for obj in globals().values():
|
||
- if type(obj) is type and issubclass(obj, Distro) and obj.name:
|
||
+ if isinstance(obj, type) and issubclass(obj, Distro) and obj.name:
|
||
allstores.append(obj)
|
||
|
||
seen_urldistro = []
|
||
diff --git a/virtinst/util.py b/virtinst/util.py
|
||
index 495a0841..2a7bc4d3 100644
|
||
--- a/virtinst/util.py
|
||
+++ b/virtinst/util.py
|
||
@@ -30,7 +30,7 @@ import libvirt
|
||
def listify(l):
|
||
if l is None:
|
||
return []
|
||
- elif type(l) != list:
|
||
+ elif not isinstance(l, list):
|
||
return [l]
|
||
else:
|
||
return l
|
||
@@ -61,7 +61,7 @@ def libvirt_collision(collision_cb, val):
|
||
|
||
|
||
def validate_uuid(val):
|
||
- if type(val) is not str:
|
||
+ if not isinstance(val, str):
|
||
raise ValueError(_("UUID must be a string."))
|
||
|
||
form = re.match("[a-fA-F0-9]{8}[-]([a-fA-F0-9]{4}[-]){3}[a-fA-F0-9]{12}$",
|
||
@@ -99,7 +99,7 @@ def validate_macaddr(val):
|
||
if val is None:
|
||
return
|
||
|
||
- if type(val) is not str:
|
||
+ if not isinstance(val, str):
|
||
raise ValueError(_("MAC address must be a string."))
|
||
|
||
form = re.match("^([0-9a-fA-F]{1,2}:){5}[0-9a-fA-F]{1,2}$", val)
|
||
diff --git a/virtinst/xmlbuilder.py b/virtinst/xmlbuilder.py
|
||
index 9e234e9f..550fea86 100644
|
||
--- a/virtinst/xmlbuilder.py
|
||
+++ b/virtinst/xmlbuilder.py
|
||
@@ -886,7 +886,7 @@ class XMLBuilder(object):
|
||
# XMLChildProperty stores a list in propstore, which dict shallow
|
||
# copy won't fix for us.
|
||
for name, value in ret._propstore.items():
|
||
- if type(value) is not list:
|
||
+ if not isinstance(value, list):
|
||
continue
|
||
ret._propstore[name] = [obj.copy() for obj in ret._propstore[name]]
|
||
|