diff --git a/virtManager/about.py b/virtManager/about.py index d36add34..55612f57 100644 --- a/virtManager/about.py +++ b/virtManager/about.py @@ -16,7 +16,7 @@ class vmmAbout(vmmGObjectUI): if not cls._instance: cls._instance = vmmAbout() cls._instance.show(parentobj.topwin) - except Exception as e: + except Exception as e: # pragma: no cover parentobj.err.show_err( _("Error launching 'About' dialog: %s") % str(e)) diff --git a/virtManager/asyncjob.py b/virtManager/asyncjob.py index b121570f..30884ec7 100644 --- a/virtManager/asyncjob.py +++ b/virtManager/asyncjob.py @@ -246,11 +246,6 @@ class vmmAsyncJob(vmmGObjectUI): def has_error(self): return bool(self._error_info) - def set_extra_data(self, data): - self._data = data - def get_extra_data(self): - return self._data - def can_cancel(self): return bool(self.cancel_cb) diff --git a/virtManager/config.py b/virtManager/config.py index 0e6f2d60..442d8091 100644 --- a/virtManager/config.py +++ b/virtManager/config.py @@ -231,7 +231,7 @@ class vmmConfig(object): Gtk.STYLE_PROVIDER_PRIORITY_USER) found, color = context.lookup_color("insensitive_fg_color") - if not found: + if not found: # pragma: no cover log.debug("Didn't find insensitive_fg_color in theme") return self.color_insensitive = color.to_string() @@ -252,7 +252,7 @@ class vmmConfig(object): def inspection_supported(self): if not vmmInspection.libguestfs_installed(): - return False + return False # pragma: no cover return self.get_libguestfs_inspect_vms() def remove_notifier(self, h): diff --git a/virtManager/connection.py b/virtManager/connection.py index 6e37cd09..09899bf9 100644 --- a/virtManager/connection.py +++ b/virtManager/connection.py @@ -160,9 +160,6 @@ class vmmConnection(vmmGObject): def __init__(self, uri): self._uri = uri - if self._uri is None or self._uri.lower() == "xen": - self._uri = "xen:///" - vmmGObject.__init__(self) self._state = self._STATE_DISCONNECTED @@ -277,7 +274,7 @@ class vmmConnection(vmmGObject): for vol in pool.get_volumes(): try: ret.append(vol.get_xmlobj(refresh_if_nec=False)) - except Exception as e: + except Exception as e: # pragma: no cover log.debug("Fetching volume XML failed: %s", e) return ret self._backend.cb_fetch_all_vols = fetch_all_vols @@ -450,13 +447,13 @@ class vmmConnection(vmmGObject): if self.support.domain_xml_inactive(vm): inact = libvirt.VIR_DOMAIN_XML_INACTIVE - else: + else: # pragma: no cover log.debug("Domain XML inactive flag not supported.") if self.support.domain_xml_secure(vm): inact |= libvirt.VIR_DOMAIN_XML_SECURE act = libvirt.VIR_DOMAIN_XML_SECURE - else: + else: # pragma: no cover log.debug("Domain XML secure flag not supported.") return inact, act @@ -477,7 +474,7 @@ class vmmConnection(vmmGObject): try: if vol.get_target_path() == path: return vol - except Exception as e: + except Exception as e: # pragma: no cover # Errors can happen if the volume disappeared, bug 1092739 log.debug("Error looking up volume from path=%s: %s", path, e) @@ -507,10 +504,7 @@ class vmmConnection(vmmGObject): return _("Disconnected") elif self.is_connecting(): return _("Connecting") - elif self.is_active(): - return _("Active") - else: - return _("Unknown") + return _("Active") ################################# @@ -547,7 +541,7 @@ class vmmConnection(vmmGObject): for dev in self.list_nodedevs(): try: xmlobj = dev.get_xmlobj() - except libvirt.libvirtError as e: + except libvirt.libvirtError as e: # pragma: no cover # Libvirt nodedev XML fetching can be busted # https://bugzilla.redhat.com/show_bug.cgi?id=1225771 if e.get_error_code() != libvirt.VIR_ERR_NO_NODE_DEVICE: @@ -742,7 +736,7 @@ class vmmConnection(vmmGObject): def _add_conn_events(self): if not self.support.conn_working_xen_events(): - return + return # pragma: no cover def _check_events_disabled(): if self.config.CLITestOptions.no_events: @@ -771,7 +765,7 @@ class vmmConnection(vmmGObject): self._domain_cb_ids.append( self.get_backend().domainEventRegisterAny( None, eventid, cb, eventname)) - except Exception as e: + except Exception as e: # pragma: no cover log.debug("Error registering %s event: %s", eventname, e) @@ -856,7 +850,7 @@ class vmmConnection(vmmGObject): self._backend.storagePoolEventDeregisterAny(eid) for eid in self._node_device_cb_ids: self._backend.nodeDeviceEventDeregisterAny(eid) - except Exception: + except Exception: # pragma: no cover log.debug("Failed to deregister events in conn cleanup", exc_info=True) finally: @@ -875,14 +869,15 @@ class vmmConnection(vmmGObject): try: self._remove_object_signal(obj) obj.cleanup() - except Exception as e: + except Exception as e: # pramga: no cover log.debug("Failed to cleanup %s: %s", obj, e) self._objects.cleanup() self._objects = _ObjectList() closeret = self._backend.close() if closeret == 1 and self.config.CLITestOptions.leak_debug: - log.debug("LEAK: conn close() returned 1, " + log.debug( # pragma: no cover + "LEAK: conn close() returned 1, " "meaning refs may have leaked.") self._change_state(self._STATE_DISCONNECTED) @@ -900,7 +895,7 @@ class vmmConnection(vmmGObject): def open(self): if not self.is_disconnected(): - return + return # pragma: no cover self._change_state(self._STATE_CONNECTING) @@ -949,15 +944,15 @@ class vmmConnection(vmmGObject): log.debug("conn version=%s", self._backend.conn_version()) log.debug("%s capabilities:\n%s", self.get_uri(), self.caps.get_xml()) - if not self.support.conn_domain(): + if not self.support.conn_domain(): # pragma: no cover raise RuntimeError("Connection does not support required " "domain listing APIs") - if not self.support.conn_storage(): + if not self.support.conn_storage(): # pragma: no cover log.debug("Connection doesn't seem to support storage APIs.") - if not self.support.conn_network(): + if not self.support.conn_network(): # pragma: no cover log.debug("Connection doesn't seem to support network APIs.") - if not self.support.conn_nodedev(): + if not self.support.conn_nodedev(): # pragma: no cover log.debug("Connection doesn't seem to support nodedev APIs.") self._add_conn_events() @@ -989,7 +984,7 @@ class vmmConnection(vmmGObject): # pool already exists try: virtinst.StoragePool.build_default_pool(self.get_backend()) - except Exception as e: + except Exception as e: # pragma: no cover log.debug("Building default pool failed: %s", str(e)) def _open_thread(self): @@ -1031,7 +1026,7 @@ class vmmConnection(vmmGObject): app with long tick operations. """ if not self._backend.is_open(): - return + return # pragma: no cover for obj in gone_objects: class_name = obj.class_name() @@ -1051,7 +1046,7 @@ class vmmConnection(vmmGObject): def _new_object_cb(self, obj, initialize_failed): if not self._backend.is_open(): - return + return # pragma: no cover try: class_name = obj.class_name() @@ -1182,9 +1177,9 @@ class vmmConnection(vmmGObject): are in use. """ if self._closing: - return + return # pragma: no cover if self.is_disconnected(): - return + return # pragma: no cover if self.is_connecting() and not force: return @@ -1244,7 +1239,7 @@ class vmmConnection(vmmGObject): def _recalculate_stats(self, vms): if not self._backend.is_open(): - return + return # pragma: no cover now = time.time() expected = self.config.get_stats_history_length() diff --git a/virtManager/connmanager.py b/virtManager/connmanager.py index 6e0eb453..8866beaf 100644 --- a/virtManager/connmanager.py +++ b/virtManager/connmanager.py @@ -40,7 +40,7 @@ class vmmConnectionManager(vmmGObject): conn.close() self.emit("conn-removed", uri) conn.cleanup() - except Exception: + except Exception: # pragma: no cover log.exception("Error cleaning up conn=%s", uri) self._conns = {} @@ -50,7 +50,7 @@ class vmmConnectionManager(vmmGObject): def add_conn(self, uri): if uri in self._conns: - return self._conns[uri] + return self._conns[uri] # pragma: no cover conn = vmmConnection(uri) self._conns[uri] = conn self.config.add_conn_uri(uri) @@ -59,7 +59,7 @@ class vmmConnectionManager(vmmGObject): def remove_conn(self, uri): if uri not in self._conns: - return + return # pragma: no cover conn = self._conns.pop(uri) self.config.remove_conn_uri(uri) self.emit("conn-removed", uri) diff --git a/virtManager/createconn.py b/virtManager/createconn.py index 17ef7136..bf8c0d5a 100644 --- a/virtManager/createconn.py +++ b/virtManager/createconn.py @@ -32,14 +32,10 @@ class vmmCreateConn(vmmGObjectUI): if not cls._instance: cls._instance = vmmCreateConn() return cls._instance - except Exception as e: + except Exception as e: # pragma: no cover parentobj.err.show_err( _("Error launching connect dialog: %s") % str(e)) - @classmethod - def is_initialized(cls): - return bool(cls._instance) - def __init__(self): vmmGObjectUI.__init__(self, "createconn.ui", "vmm-open-connection") self._cleanup_on_app_close() diff --git a/virtManager/createpool.py b/virtManager/createpool.py index 37603f0c..66457b51 100644 --- a/virtManager/createpool.py +++ b/virtManager/createpool.py @@ -350,8 +350,7 @@ class vmmCreatePool(vmmGObjectUI): return try: - if self._validate(pool) is False: - return + self._validate(pool) build = self._get_build_default(pool.type) except Exception as e: # pragma: no cover return self.err.show_err(_("Error validating pool: %s") % e) diff --git a/virtManager/device/fsdetails.py b/virtManager/device/fsdetails.py index 68264a14..0e79c0fd 100644 --- a/virtManager/device/fsdetails.py +++ b/virtManager/device/fsdetails.py @@ -152,8 +152,6 @@ class vmmFSDetails(vmmGObjectUI): check_visible=True) def get_config_fs_readonly(self): - if not self.widget("fs-readonly").is_visible(): - return None return self.widget("fs-readonly").get_active() def get_config_fs_driver(self): @@ -293,7 +291,7 @@ class vmmFSDetails(vmmGObjectUI): self._dev.format = fsformat if wrpolicy: self._dev.wrpolicy = wrpolicy - except Exception as e: + except Exception as e: # pragma: no cover return self.err.val_err(_("Filesystem parameter error"), e) def _browse_file(self, textent, isdir=False): diff --git a/virtManager/device/mediacombo.py b/virtManager/device/mediacombo.py index 12ce3eee..7bccfba2 100644 --- a/virtManager/device/mediacombo.py +++ b/virtManager/device/mediacombo.py @@ -97,11 +97,9 @@ class vmmMediaCombo(vmmGObjectUI): if nodedev.xmlobj.drive_type != media_type: continue - media_label = nodedev.xmlobj.media_label + media_label = nodedev.xmlobj.media_label or _("Media Unknown") if not nodedev.xmlobj.media_available: media_label = _("No media detected") - elif not nodedev.xmlobj.media_label: - media_label = _("Media Unknown") label = "%s (%s)" % (media_label, nodedev.xmlobj.block) row = self._make_row(nodedev.xmlobj.block, label, diff --git a/virtManager/hostnets.py b/virtManager/hostnets.py index 3a6cd426..7e5fb32f 100644 --- a/virtManager/hostnets.py +++ b/virtManager/hostnets.py @@ -169,7 +169,7 @@ class vmmHostNets(vmmGObjectUI): try: self._populate_net_state(net) - except Exception as e: + except Exception as e: # pragma: no cover log.exception(e) self._set_error_page(_("Error selecting network: %s") % e) self._disable_net_apply() @@ -275,7 +275,7 @@ class vmmHostNets(vmmGObjectUI): def _delete_network_cb(self, src): net = self._current_network() if net is None: - return + return # pragma: no cover result = self.err.yes_no(_("Are you sure you want to permanently " "delete the network %s?") % net.get_name()) @@ -289,7 +289,7 @@ class vmmHostNets(vmmGObjectUI): def _start_network_cb(self, src): net = self._current_network() if net is None: - return + return # pragma: no cover log.debug("Starting network '%s'", net.get_name()) vmmAsyncJob.simple_async_noshow(net.start, [], self, @@ -298,7 +298,7 @@ class vmmHostNets(vmmGObjectUI): def _stop_network_cb(self, src): net = self._current_network() if net is None: - return + return # pragma: no cover log.debug("Stopping network '%s'", net.get_name()) vmmAsyncJob.simple_async_noshow(net.stop, [], self, @@ -310,7 +310,7 @@ class vmmHostNets(vmmGObjectUI): if self._addnet is None: self._addnet = vmmCreateNetwork(self.conn) self._addnet.show(self.topwin) - except Exception as e: + except Exception as e: # pragma: no cover self.err.show_err(_("Error launching network wizard: %s") % str(e)) @@ -321,7 +321,7 @@ class vmmHostNets(vmmGObjectUI): def _net_apply(self): net = self._current_network() if net is None: - return + return # pragma: no cover log.debug("Applying changes for network '%s'", net.get_name()) try: diff --git a/virtManager/hoststorage.py b/virtManager/hoststorage.py index 3b1fa726..ecc3ef0b 100644 --- a/virtManager/hoststorage.py +++ b/virtManager/hoststorage.py @@ -47,9 +47,8 @@ ICON_SHUTOFF = "state_shutoff" def _get_pool_size_percent(pool): cap = pool.get_capacity() alloc = pool.get_allocation() - if not cap or alloc is None: - per = 0 - else: + per = 0 + if cap and alloc is not None: per = int(((float(alloc) / float(cap)) * 100)) return "%s%%" % int(per) @@ -118,7 +117,7 @@ class vmmHostStorage(vmmGObjectUI): def _cleanup(self): try: self.conn.disconnect_by_obj(self) - except Exception: + except Exception: # pragma: no cover pass self.conn = None @@ -271,7 +270,7 @@ class vmmHostStorage(vmmGObjectUI): self.conn.support.conn_storage()) if conn_active and not self.conn.support.conn_storage(): - self._set_error_page( + self._set_error_page( # pragma: no cover _("Libvirt connection does not support storage management.")) if conn_active: @@ -288,7 +287,7 @@ class vmmHostStorage(vmmGObjectUI): def _current_vol(self): pool = self._current_pool() if not pool: - return None + return None # pragma: no cover connkey = uiutil.get_list_selection(self.widget("vol-list")) return connkey and pool.get_volume(connkey) @@ -369,7 +368,7 @@ class vmmHostStorage(vmmGObjectUI): try: self._populate_pool_state(pool) - except Exception as e: + except Exception as e: # pragma: no cover log.exception(e) self._set_error_page(_("Error selecting pool: %s") % e) self._disable_pool_apply() @@ -427,7 +426,7 @@ class vmmHostStorage(vmmGObjectUI): cap = str(vol.get_capacity()) sizestr = vol.get_pretty_capacity() fmt = vol.get_format() or "" - except Exception: + except Exception: # pragma: no cover log.debug("Error getting volume info for '%s', " "hiding it", key, exc_info=True) continue @@ -440,7 +439,7 @@ class vmmHostStorage(vmmGObjectUI): namestr = ", ".join(names) if not namestr: namestr = None - except Exception: + except Exception: # pragma: no cover log.exception("Failed to determine if storage volume in " "use.") @@ -470,7 +469,7 @@ class vmmHostStorage(vmmGObjectUI): def _pool_stop_cb(self, src): pool = self._current_pool() if pool is None: - return + return # pragma: no cover log.debug("Stopping pool '%s'", pool.get_name()) vmmAsyncJob.simple_async_noshow(pool.stop, [], self, @@ -479,7 +478,7 @@ class vmmHostStorage(vmmGObjectUI): def _pool_start_cb(self, src): pool = self._current_pool() if pool is None: - return + return # pragma: no cover log.debug("Starting pool '%s'", pool.get_name()) vmmAsyncJob.simple_async_noshow(pool.start, [], self, @@ -492,13 +491,13 @@ class vmmHostStorage(vmmGObjectUI): if self._addpool is None: self._addpool = vmmCreatePool(self.conn) self._addpool.show(self.topwin) - except Exception as e: + except Exception as e: # pragma: no cover self.err.show_err(_("Error launching pool wizard: %s") % str(e)) def _pool_delete_cb(self, src): pool = self._current_pool() if pool is None: - return + return # pragma: no cover result = self.err.yes_no(_("Are you sure you want to permanently " "delete the pool %s?") % pool.get_name()) diff --git a/virtManager/lib/uiutil.py b/virtManager/lib/uiutil.py index 8a0730c3..ebb10e2b 100644 --- a/virtManager/lib/uiutil.py +++ b/virtManager/lib/uiutil.py @@ -7,6 +7,8 @@ from gi.repository import GObject from gi.repository import Gtk +from virtinst import xmlutil + ##################### # UI getter helpers # @@ -142,8 +144,7 @@ def set_grid_row_visible(child, visible): """ parent = child.get_parent() if not isinstance(parent, Gtk.Grid): - raise RuntimeError("Programming error, parent must be grid, " - "not %s" % type(parent)) + raise xmlutil.DevError("parent must be grid, not %s" % type(parent)) row = child_get_property(parent, child, "top-attach") for c in parent.get_children(): diff --git a/virtManager/manager.py b/virtManager/manager.py index c80af125..81f796c0 100644 --- a/virtManager/manager.py +++ b/virtManager/manager.py @@ -80,7 +80,7 @@ class vmmManager(vmmGObjectUI): if not cls._instance: cls._instance = vmmManager() return cls._instance - except Exception as e: + except Exception as e: # pragma: no cover if not parentobj: raise parentobj.err.show_err( @@ -279,13 +279,11 @@ class vmmManager(vmmGObjectUI): c.set_homogeneous(False) def init_context_menus(self): - def add_to_menu(idx, text, icon, cb): + def add_to_menu(idx, text, cb): if text[0:3] == 'gtk': item = Gtk.ImageMenuItem.new_from_stock(text, None) else: item = Gtk.ImageMenuItem.new_with_mnemonic(text) - if icon: - item.set_image(icon) if cb: item.connect("activate", cb) item.get_accessible().set_name("conn-%s" % idx) @@ -293,14 +291,14 @@ class vmmManager(vmmGObjectUI): self.connmenu_items[idx] = item # Build connection context menu - add_to_menu("create", Gtk.STOCK_NEW, None, self.new_vm) - add_to_menu("connect", Gtk.STOCK_CONNECT, None, self.open_conn) - add_to_menu("disconnect", Gtk.STOCK_DISCONNECT, None, + add_to_menu("create", Gtk.STOCK_NEW, self.new_vm) + add_to_menu("connect", Gtk.STOCK_CONNECT, self.open_conn) + add_to_menu("disconnect", Gtk.STOCK_DISCONNECT, self.close_conn) self.connmenu.add(Gtk.SeparatorMenuItem()) - add_to_menu("delete", Gtk.STOCK_DELETE, None, self.do_delete) + add_to_menu("delete", Gtk.STOCK_DELETE, self.do_delete) self.connmenu.add(Gtk.SeparatorMenuItem()) - add_to_menu("details", _("D_etails"), None, self.show_host) + add_to_menu("details", _("D_etails"), self.show_host) self.connmenu.show_all() def init_vmlist(self): @@ -553,7 +551,7 @@ class vmmManager(vmmGObjectUI): def vm_added(self, conn, connkey): vm = conn.get_vm(connkey) if not vm: - return + return # pragma: no cover vm_row = self._build_row(None, vm) conn_row = self.get_row(conn) @@ -643,7 +641,7 @@ class vmmManager(vmmGObjectUI): # Make sure error page isn't showing self.widget("vm-notebook").set_current_page(0) if self.get_row(conn): - return + return # pragma: no cover conn_row = self._build_row(conn, None) self.model.append(None, conn_row) diff --git a/virtManager/object/libvirtobject.py b/virtManager/object/libvirtobject.py index d17eb09c..24f99749 100644 --- a/virtManager/object/libvirtobject.py +++ b/virtManager/object/libvirtobject.py @@ -129,7 +129,7 @@ class vmmLibvirtObject(vmmGObject): try: self._key = newname self.conn.rename_object(self, origxml, newxml, oldconnkey) - except Exception: + except Exception: # pragma: no cover self._key = oldname raise finally: @@ -190,7 +190,7 @@ class vmmLibvirtObject(vmmGObject): initialize_failed = False try: self._init_libvirt_state() - except Exception: + except Exception: # pragma: no cover log.debug("Error initializing libvirt state for %s", self, exc_info=True) initialize_failed = True diff --git a/virtManager/object/network.py b/virtManager/object/network.py index 07fa9b0a..0a0bc919 100644 --- a/virtManager/object/network.py +++ b/virtManager/object/network.py @@ -106,8 +106,6 @@ class vmmNetwork(vmmLibvirtObject): self._refresh_dhcp_leases() return self._leases - def get_uuid(self): - return self.get_xmlobj().uuid def get_bridge_device(self): return self.get_xmlobj().bridge def get_name_domain(self): diff --git a/virtManager/object/storagepool.py b/virtManager/object/storagepool.py index 15928d9f..1997cc44 100644 --- a/virtManager/object/storagepool.py +++ b/virtManager/object/storagepool.py @@ -54,7 +54,7 @@ class vmmStorageVolume(vmmLibvirtObject): def _XMLDesc(self, flags): try: return self._backend.XMLDesc(flags) - except Exception as e: + except Exception as e: # pragma: no cover log.debug("XMLDesc for vol=%s failed: %s", self._backend.key(), e) raise @@ -97,13 +97,9 @@ class vmmStorageVolume(vmmLibvirtObject): return self.get_xmlobj().format def get_capacity(self): return self.get_xmlobj().capacity - def get_allocation(self): - return self.get_xmlobj().allocation def get_pretty_capacity(self): return _pretty_bytes(self.get_capacity()) - def get_pretty_allocation(self): - return _pretty_bytes(self.get_allocation()) def get_pretty_name(self, pooltype): name = self.get_name() @@ -111,9 +107,10 @@ class vmmStorageVolume(vmmLibvirtObject): return name key = self.get_key() - if not key: - return name - return "%s (%s)" % (name, key) + ret = name + if key: + ret += " (%s)" % key + return ret class vmmStoragePool(vmmLibvirtObject): @@ -261,7 +258,6 @@ class vmmStoragePool(vmmLibvirtObject): for vol in self.get_volumes(): if vol.get_connkey() == key: return vol - return None def _update_volumes(self, force): if not self.is_active(): @@ -287,14 +283,8 @@ class vmmStoragePool(vmmLibvirtObject): def get_autostart(self): return self._backend.autostart() - def can_change_alloc(self): - typ = self.get_type() - return (typ in [StoragePool.TYPE_LOGICAL, StoragePool.TYPE_ZFS]) - def get_type(self): return self.get_xmlobj().type - def get_uuid(self): - return self.get_xmlobj().uuid def get_target_path(self): return self.get_xmlobj().target_path or "" diff --git a/virtManager/oslist.py b/virtManager/oslist.py index 6031c457..8796c960 100644 --- a/virtManager/oslist.py +++ b/virtManager/oslist.py @@ -81,7 +81,7 @@ class vmmOSList(vmmGObjectUI): if not self.is_visible(): return if not len(os_list.get_model()): - return + return # pragma: no cover sel.select_iter(os_list.get_model()[0].iter) def _refilter(self): @@ -126,7 +126,7 @@ class vmmOSList(vmmGObjectUI): def _entry_activate_cb(self, src): os_list = self.widget("os-list") if not os_list.is_visible(): - return + return # pragma: no cover sel = os_list.get_selection() model, rows = sel.get_selected_rows() diff --git a/virtManager/preferences.py b/virtManager/preferences.py index e87dd8ec..a5878f1b 100644 --- a/virtManager/preferences.py +++ b/virtManager/preferences.py @@ -23,7 +23,7 @@ class vmmPreferences(vmmGObjectUI): if not cls._instance: cls._instance = vmmPreferences() cls._instance.show(parentobj.topwin) - except Exception as e: + except Exception as e: # pragma: no cover parentobj.err.show_err( _("Error launching preferences: %s") % str(e)) @@ -201,12 +201,10 @@ class vmmPreferences(vmmGObjectUI): def refresh_view_system_tray(self): errmsg = vmmSystray.systray_disabled_message() - val = self.config.get_view_system_tray() - if errmsg: - val = False + val = bool(self.config.get_view_system_tray() and not errmsg) self.widget("prefs-system-tray").set_sensitive(not bool(errmsg)) self.widget("prefs-system-tray").set_tooltip_text(errmsg) - self.widget("prefs-system-tray").set_active(bool(val)) + self.widget("prefs-system-tray").set_active(val) def refresh_xmleditor(self): val = self.config.get_xmleditor_enabled() diff --git a/virtManager/xmleditor.py b/virtManager/xmleditor.py index a3d8c87e..bea8dfc6 100644 --- a/virtManager/xmleditor.py +++ b/virtManager/xmleditor.py @@ -10,7 +10,7 @@ from virtinst import log try: gi.require_version("GtkSource", "4") log.debug("Using GtkSource 4") -except ValueError: +except ValueError: # pragma: no cover gi.require_version("GtkSource", "3.0") log.debug("Using GtkSource 3.0") from gi.repository import GtkSource