On 06/22/2017 10:54 AM, Radostin Stoyanov wrote: > --- > ui/create.ui | 2 ++ > virtManager/create.py | 42 ++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 44 insertions(+) > > diff --git a/ui/create.ui b/ui/create.ui > index ae4227b..c9d2637 100644 > --- a/ui/create.ui > +++ b/ui/create.ui > @@ -1736,6 +1736,7 @@ connections is not yet supported.</small></property> > <property name="can_focus">True</property> > <property name="receives_default">False</property> > <property name="draw_indicator">True</property> > + <signal name="toggled" handler="on_install_container_source_toggle" swapped="no"/> > </object> > <packing> > <property name="expand">False</property> > @@ -1746,6 +1747,7 @@ connections is not yet supported.</small></property> > <child> > <object class="GtkBox" id="install-oscontainer-source"> > <property name="visible">True</property> > + <property name="sensitive">False</property> > <property name="can_focus">False</property> > <property name="orientation">vertical</property> > <child> > diff --git a/virtManager/create.py b/virtManager/create.py > index 275b6f3..658135c 100644 > --- a/virtManager/create.py > +++ b/virtManager/create.py > @@ -21,6 +21,11 @@ > import logging > import threading > import time > +import subprocess > +try: > + import commands # Python2 only > +except Exception: > + pass > > from gi.repository import GObject > from gi.repository import Gtk > @@ -104,6 +109,17 @@ def _remove_vmm_device(guest, devkey): > guest.remove_device(dev) > > > +def is_virt_bootstrap_installed(): > + ''' Returns True if virt-bootstrap is installed ''' > + cmd = "virt-bootstrap --help" > + # pylint: disable=E1101 Please do disable=$string instead, easier for readability. You can grab it from pylint --list-msgs | grep E1101. In this case it's disable=no-member > + try: > + status, ignore = subprocess.getstatusoutput(cmd) # Python3 > + except: > + status, ignore = commands.getstatusoutput(cmd) # Python2 > + return status == 0 > + > + There's distutils.spawn.find_executable which just searches $PATH. Saves constantly spawning a binary Also because this function is called from set_conn_state it may potentially get hit a bunch which is redundant. I say have the function cache the result in a global variable, but refresh the cache from vmmCreate.reset_state(). Limits the amount of checking, but allows the user to close the wizard and reopen it to notice a newly installed virt-bootstrap. Or if you wanted to be nicer about it, only do the check when we switch to the app container install page Thanks, Cole _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list