Fix mishaps in merging (lost code for handling 'protected_drives', bad qemu command building.)

Fix an attemp to os.chdir('')
pull/340/head
shinji-s 6 years ago
parent 6588648fc5
commit fc7e988cbf

@ -197,8 +197,11 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QMainWindow, Ui_MainWindow):
else:
detected_devices = usb.list_devices()
if detected_devices:
for device in detected_devices:
if not detected_devices:
return
protected_drives = getattr(config, 'protected_drives', [])
for device in detected_devices:
if all(not device.startswith(d) for d in protected_drives):
self.ui.combo_drives.addItem(str(device))
self.ui.combo_drives.setCurrentIndex(0)

@ -52,9 +52,10 @@ class Qemu(QtWidgets.QMainWindow, Ui_MainWindow):
cmd = [qemu] + options + qemu_more_params
try:
old_wd = os.getcwd()
new_wd = os.path.split(qemu)[0]
os.chdir(new_wd)
if new_wd:
old_wd = os.getcwd()
os.chdir(new_wd)
try:
with usb.UnmountedContext(config.usb_disk,
config.update_usb_mount):
@ -63,7 +64,8 @@ class Qemu(QtWidgets.QMainWindow, Ui_MainWindow):
if out:
log('%s => %s' % (cmd, out))
finally:
os.chdir(old_wd)
if new_wd:
os.chdir(old_wd)
except (KeyboardInterrupt, SystemExit):
raise
except:

@ -197,17 +197,17 @@ def syslinux_default(usb_disk):
return False
def build_distro_bootsector(usb_disk, option,
def build_distro_bootsector(usb_disk, options,
distro_syslinux_install_dir,
distro_sys_install_bs):
with usb.UnmountedContext(config.usb_disk, config.update_usb_mount):
tmp_bs = build_distro_bootsector_impl(
usb_disk, option, distro_syslinux_install_dir)
usb_disk, options, distro_syslinux_install_dir)
if tmp_bs:
shutil.copy(tmp_bs, distro_sys_install_bs)
def build_distro_bootsector_impl(usb_disk, option,
def build_distro_bootsector_impl(usb_disk, options,
distro_syslinux_install_dir):
syslinux_path = os.path.join(
multibootusb_host_dir(), "syslinux", "bin", "syslinux") \
@ -215,7 +215,8 @@ def build_distro_bootsector_impl(usb_disk, option,
if os.access(syslinux_path, os.X_OK) is False:
subprocess.call('chmod +x ' + syslinux_path, shell=True)
sys_cmd = [syslinux_path] + option + [distro_syslinux_install_dir, usb_disk]
sys_cmd = [syslinux_path] + options + [
distro_syslinux_install_dir, usb_disk]
log("Executing ==> %s" % sys_cmd)
if subprocess.call(sys_cmd) == 0:
config.status_text = \
@ -292,9 +293,8 @@ def syslinux_distro_dir(usb_disk, iso_link, distro):
options.append('-i')
if not (distro == "generic" and iso_linux_bin_dir == "/"):
options.append('-d')
option = ' ' + ' '.join(options) + ' '
if platform.system() == "Linux":
build_distro_bootsector(usb_disk, option,
build_distro_bootsector(usb_disk, options,
distro_syslinux_install_dir,
distro_sys_install_bs)
elif platform.system() == "Windows":

Loading…
Cancel
Save