tell application 'Finder'
set selection_list to selection
if (count selection_list) < 1 then
display dialog ¬
'Please select a volume mounted from a disk image.' with title ¬
'No Selection Found' with icon stop ¬
buttons ['OK'] default button 1
return
end if
set my_selection to item 1 of selection_list
set my_kind to kind of my_selection
set my_name to name of my_selection
if my_kind is not 'Volume' then
display dialog ¬
'Please select a volume mounted from a disk image file.' with title ¬
'Selection is not a Disk Image' with icon stop ¬
buttons ['OK'] default button 1
return
end if
set volume_list to paragraphs of (do shell script 'hdiutil info | grep ^/dev/disk | grep -o '/Volumes/.*')
set source_list to paragraphs of (do shell script 'hdiutil info | grep ^image'-'alias | grep -o '/.*')
set match_found to false
repeat with v from 1 to (count volume_list)
if '/Volumes/' & my_name = item v of volume_list then
set match_found to true
exit repeat
end if
end repeat
if match_found is not equal to true then
display dialog ¬
'The selected volume does not appear to be a Disk Image.' with title ¬
'Could not find Disk Image' with icon stop ¬
buttons ['OK'] default button 1
return
else
set my_source to POSIX file (item v of source_list) as alias
move my_source to the trash
eject my_selection
--reveal my_source
end if
end tell
import string, os, sys
lines = os.popen('hdiutil info').readlines()
should_eject = False
for line in lines:
if line.startswith('image-alias'):
path = line.split(':')[1]
image_path = path.lstrip().rstrip()
if image_path in sys.argv:
should_eject = True
elif line.startswith('/dev/') and should_eject is True:
os.popen('hdiutil eject %s' % line.split()[0])
should_eject = False
elif line.startswith('###'):
should_eject = False