Merge pull request #285 from shinji-s/devel

Simplify code by eliminating common expression.
pull/290/head
multibootusb 6 years ago committed by GitHub
commit cb5703b712
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -76,17 +76,11 @@ def resource_path(relativePath):
#basePath = os.path.abspath(".")
basePath = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
if os.path.exists(os.path.join(basePath, relativePath)):
path = os.path.join(basePath, relativePath)
return path
elif not os.path.exists(os.path.join(basePath, relativePath)):
if os.path.exists(os.path.join(os.path.abspath("."), relativePath)):
basePath = os.path.abspath(".")
elif os.path.exists(os.path.join(os.path.abspath(".."), relativePath)):
basePath = os.path.abspath("..")
path = os.path.join(basePath, relativePath)
return path
for dir_ in [basePath, os.path.abspath('.'), os.path.abspath('..')]:
fullpath = os.path.join(dir_, relativePath)
if os.path.exists(fullpath):
return fullpath
log("Could not find resource '%s'." % relativePath)
def print_version():
"""

@ -193,30 +193,34 @@ def install_patch():
# iso_linux_bin_dir = isolinux_bin_dir(config.image_path)
config.syslinux_version = isolinux_version(isolinux_path)
iso_file_list = iso.iso_file_list(config.image_path)
os.path.join(config.usb_mount, "multibootusb", iso_basename(config.image_path), isolinux_bin_dir(config.image_path))
if any("makeboot.sh" in s.lower() for s in iso_file_list):
for module in os.listdir(os.path.join(config.usb_mount, "multibootusb", iso_basename(config.image_path),
isolinux_bin_dir(config.image_path))):
if module.endswith(".c32"):
if os.path.exists(os.path.join(config.usb_mount, "multibootusb", iso_basename(config.image_path),
isolinux_bin_dir(config.image_path), module)):
try:
os.remove(os.path.join(config.usb_mount, "multibootusb",
iso_basename(config.image_path), isolinux_bin_dir(config.image_path), module))
log("Copying " + module)
log((resource_path(
os.path.join(multibootusb_host_dir(), "syslinux", "modules", config.syslinux_version, module)),
os.path.join(config.usb_mount, "multibootusb", iso_basename(config.image_path),
isolinux_bin_dir(config.image_path), module)))
shutil.copy(resource_path(
os.path.join(multibootusb_host_dir(), "syslinux", "modules", config.syslinux_version, module)),
os.path.join(config.usb_mount, "multibootusb", iso_basename(config.image_path),
isolinux_bin_dir(config.image_path), module))
except Exception as err:
log(err)
log("Could not copy " + module)
else:
if not any(s.strip().lower().endswith("makeboot.sh")
for s in iso_file_list):
log('Patch not required...')
return
# Replace modules files extracted from iso with corresponding
# version provided by multibootusb.
distro_install_dir = os.path.join(config.usb_mount, "multibootusb",
iso_basename(config.image_path))
isolinux_bin_dir_ = os.path.join(
distro_install_dir, isolinux_bin_dir(config.image_path))
modules_src_dir = os.path.join(
multibootusb_host_dir(), "syslinux", "modules",
config.syslinux_version)
for module in os.listdir(isolinux_bin_dir_):
if not module.endswith(".c32"):
continue
fpath = os.path.join(isolinux_bin_dir_, module)
try:
os.remove(fpath)
src_module_path = os.path.join(modules_src_dir, module)
log("Copying " + module)
log((src_module_path, fpath))
shutil.copy(src_module_path, fpath)
except Exception as err:
log(err)
log("Could not copy " + module)
if __name__ == '__main__':

@ -115,20 +115,26 @@ def uninstall_distro():
if usb_mount:
subprocess.call("chattr -i -R %s/* 2>/dev/null" % usb_mount, shell=True)
if os.path.exists(os.path.join(usb_mount, "multibootusb", config.uninstall_distro_dir_name, "iso_file_list.cfg")):
with open(os.path.join(usb_mount, "multibootusb", config.uninstall_distro_dir_name, "iso_file_list.cfg"), "r") as f:
uninstall_distro_dir_name = os.path.join(
usb_mount, "multibootusb", config.uninstall_distro_dir_name)
uninstall_distro_iso_name = os.path.join(
usb_mount, config.uninstall_distro_dir_name) + '.iso'
filelist_fname = os.path.join(uninstall_distro_dir_name,
"iso_file_list.cfg")
if os.path.exists(filelist_fname):
with open(filelist_fname, "r") as f:
config.iso_file_list = f.readlines()
for path, subdirs, files in os.walk(os.path.join(usb_mount, "multibootusb", config.uninstall_distro_dir_name)):
for path, subdirs, files in os.walk(uninstall_distro_dir_name):
for name in files:
if name.endswith('ldlinux.sys') or name.endswith('ldlinux.c32'):
if name.endswith(('ldlinux.sys', 'ldlinux.c32')):
os.chmod(os.path.join(path, name), 0o777)
os.unlink(os.path.join(path, name))
if config.distro == "opensuse":
if os.path.exists(os.path.join(usb_mount, config.uninstall_distro_dir_name + ".iso")):
os.remove(os.path.join(usb_mount, config.uninstall_distro_dir_name + ".iso"))
elif config.distro == "windows" or config.distro == "alpine" or config.distro == "generic":
if os.path.exists(uninstall_distro_iso_name):
os.remove(uninstall_distro_iso_name)
elif config.distro in ["windows", "alpine", "generic"]:
delete_frm_file_list()
if config.distro == "ipfire":
@ -141,10 +147,10 @@ def uninstall_distro():
elif config.distro == "trinity-rescue":
shutil.rmtree(os.path.join(usb_mount, "trk3"))
if os.path.exists(os.path.join(usb_mount, "multibootusb", config.uninstall_distro_dir_name)):
if os.path.exists(uninstall_distro_dir_name):
if platform.system() == 'Linux':
os.sync()
shutil.rmtree(os.path.join(usb_mount, "multibootusb", config.uninstall_distro_dir_name))
shutil.rmtree(uninstall_distro_dir_name)
delete_frm_file_list()

Loading…
Cancel
Save