mirror of
https://github.com/mbusb/multibootusb
synced 2024-11-18 15:25:46 +00:00
Merge branch 'devel' of https://github.com/mbusb/multibootusb.git into devel
This commit is contained in:
commit
b5725a0c92
@ -60,12 +60,20 @@ def iso_size(iso_link):
|
||||
return os.path.getsize(iso_link)
|
||||
|
||||
|
||||
def is_readable(iso_link):
|
||||
return os.access(iso_link, os.R_OK)
|
||||
|
||||
|
||||
def is_bootable(iso_link):
|
||||
"""
|
||||
Check if an ISO has the ability to boot.
|
||||
:return: True if ISO is bootable and False if not.
|
||||
"""
|
||||
iso9660fs = ISO9660(iso_link)
|
||||
try:
|
||||
iso9660fs = ISO9660(iso_link)
|
||||
except IOError as e:
|
||||
log(str(e))
|
||||
raise
|
||||
isBootable = iso9660fs.checkISOBootable()
|
||||
return bool(isBootable)
|
||||
|
||||
|
@ -44,21 +44,21 @@ E_FAILURE = -1
|
||||
E_DEVICEFILE = -2 # can't write device file
|
||||
|
||||
class PrimaryVolume(Structure):
|
||||
def __init__(self):
|
||||
self.sysIdentifier = ""
|
||||
self.volIdentifier = ""
|
||||
self.volSize = 0
|
||||
self.volSeq = 0
|
||||
self.blockSize = 0
|
||||
self.ptSize = 0
|
||||
self.ptLRd = 0
|
||||
self.fsVer = 0
|
||||
self.rootLoc = 0
|
||||
self.rootTotal = 0
|
||||
def __init__(self):
|
||||
self.sysIdentifier = ""
|
||||
self.volIdentifier = ""
|
||||
self.volSize = 0
|
||||
self.volSeq = 0
|
||||
self.blockSize = 0
|
||||
self.ptSize = 0
|
||||
self.ptLRd = 0
|
||||
self.fsVer = 0
|
||||
self.rootLoc = 0
|
||||
self.rootTotal = 0
|
||||
|
||||
class Rrip(Structure):
|
||||
def __init__(self):
|
||||
self.offset = -1
|
||||
self.offset = -1
|
||||
self.altname = ""
|
||||
self.devH = 0
|
||||
self.devL = 0
|
||||
@ -106,7 +106,10 @@ class ISO9660:
|
||||
f = open(isofile, 'rb')
|
||||
except(IOError):
|
||||
sys.stderr.write("can't open {0}".format(isofile))
|
||||
sys.exit(-1)
|
||||
raise
|
||||
|
||||
if os.path.getsize(isofile) == 0:
|
||||
raise IOError("File {0} appears to be empty".format(isofile))
|
||||
|
||||
self.isoFile = f
|
||||
self.priVol = None
|
||||
@ -803,4 +806,3 @@ if __name__ == '__main__':
|
||||
else:
|
||||
gen.log("writeDir(%s)->(%s) with pattern(%s)"%(isodir, o_path, pattern))
|
||||
sys.exit(iso9660fs.writeDir(isodir, o_path, pattern, r, True))
|
||||
|
||||
|
@ -217,6 +217,22 @@ Are you SURE you want to enable it?",
|
||||
'Img Files(*.img);; All Files(*.*)')[0]
|
||||
|
||||
if config.image_path:
|
||||
# sanity checks
|
||||
if not is_readable(config.image_path):
|
||||
QtWidgets.QMessageBox.critical(
|
||||
self,
|
||||
"ISO Not readable",
|
||||
"Sorry, the file \"{0}\" is not readable.".format(config.image_path)
|
||||
)
|
||||
return
|
||||
if iso_size(config.image_path) == 0:
|
||||
QtWidgets.QMessageBox.critical(
|
||||
self,
|
||||
"ISO is an empty file",
|
||||
"Sorry, the file \"{0}\" contains no data.".format(config.image_path)
|
||||
)
|
||||
return
|
||||
|
||||
default_dir_path = os.path.dirname(config.image_path)
|
||||
gen.write_to_file(preference_file_path, default_dir_path)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user