virt-manager/63fce081-pycodestyle-Use-isinstance-for-type-checking.patch

317 lines
12 KiB
Diff
Raw Normal View History

- Upstream bug fixes (bsc#1027942) 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
2017-10-30 21:23:56 +01:00
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]]