Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBert Freudenberg <bert@freudenbergs.de>2012-10-28 13:46:36 (GMT)
committer Bert Freudenberg <bert@freudenbergs.de>2012-10-28 13:46:36 (GMT)
commit952ec78bab80f6df96eff667673b50dab876931c (patch)
treea4d4f0d3eb4c3166da62ae958d48d9b501fe59b6
parenta74db58d58a416045115ee7deb0196470c7afe02 (diff)
Display more info and better error reportsHEADmaster
-rwxr-xr-ximage-writer-mac38
1 files changed, 28 insertions, 10 deletions
diff --git a/image-writer-mac b/image-writer-mac
index 94e08c4..d8a7724 100755
--- a/image-writer-mac
+++ b/image-writer-mac
@@ -129,7 +129,7 @@ def get_usb_disk():
except ValueError:
continue
usbd = udisks[sel_usb-1]
- #print "Drive selected: '%s'" % (diskutil_name(usbd))
+ print "%sDrive selected: %s%s" % (COLOR_BLUE, diskutil_name(usbd), COLOR_BLACK)
return usbd
def diskutil(*args):
@@ -151,7 +151,10 @@ def diskutil_info(disk):
diskutil_name_cache = {}
def diskutil_name(disk):
if disk not in diskutil_name_cache:
- name = diskutil_info(disk)['Volume Name']
+ info = diskutil_info(disk)
+ name = info['Volume Name']
+ media = info['Device / Media Name']
+ size = info['Total Size']
if name.startswith("Not applicable"):
name = ""
if name == "":
@@ -166,14 +169,19 @@ def diskutil_name(disk):
pass
if name == "":
name = "Untitled"
- diskutil_name_cache[disk] = "%s [%s]" % (name, disk)
+ size = " ".join(size.split()[:2])
+ diskutil_name_cache[disk] = "%s [%s, %s, %s]" % (name, disk, media, size)
return diskutil_name_cache[disk]
def get_current_udisks():
usb_devices = []
+ print _("%sLooking for storage devices...%s") % (COLOR_BLUE, COLOR_BLACK)
for disk in diskutil_list():
info = diskutil_info(disk)
- if info["Protocol"] == "USB":
+ protocol = info["Protocol"]
+ name = diskutil_name(disk)
+ print "%s: %s" % (protocol, name)
+ if protocol == "USB":
usb_devices.append(disk)
return usb_devices
@@ -205,17 +213,27 @@ def write_image_to_disk (image_filename, usb_disk):
recordsIn = p.stderr.readline().strip()
recordsOut = p.stderr.readline().strip()
bytesTransferred = p.stderr.readline().strip()
- perc = int(bytesTransferred.split()[0]) * 100 / size
- print _("%s\b\b\b\b%2s%%%s") % (COLOR_BLUE, perc, COLOR_BLACK) ,
- print _("%s\b\b\b\b\b100%%%s") % (COLOR_BLUE, COLOR_BLACK)
+ try:
+ perc = int(bytesTransferred.split()[0]) * 100 / size
+ print "%s\b\b\b\b%2s%%%s" % (COLOR_BLUE, perc, COLOR_BLACK) ,
+ except:
+ print recordsIn
+ print recordsOut
+ print bytesTransferred
+ pass
+ if p.returncode == 0:
+ print "%s\b\b\b\b\b100%%%s" % (COLOR_BLUE, COLOR_BLACK)
+ else:
+ print
- # show output of command
+ # show errors or output of command
(sout,serr) = p.communicate()
+ for line in serr.split('\n'):
+ print line
for line in sout.split('\n'):
print line
- result = p.returncode
- if result != 0:
+ if p.returncode != 0:
print _("Error: The image could not be written to the USB drive")
return False
print _("The image was successfully written to the USB drive")