On 1/7/10 9:36 PM, Scott Morrow wrote:
Very nice.  Thanks, Phil!

Scott Morrow

Elementary Software
(Now with 20% less chalk dust!)
web       http://elementarysoftware.com/
email     [email protected]
------------------------------------------------------
You're welcome!

Here is an improved version of the original handler. It adds a "Device:" label to the device name and replaces the single "Volumes:" label before ALL volume descriptions with a "Volume:" label before EACH volume description (should make it easier to break out descriptions of each partition on a USB drive).

function macUsbDrives
   -- get USB device info from system profiler
   put shell("system_profiler -detailLevel full SPUSBDataType") into tData

   -- convert data to one line per USB device
   replace (colon & cr & cr) with numToChar(245) in tData -- device name
   replace (cr & cr) with numtoChar(250) in tData
   replace cr with tab in tData
   replace numtoChar(245) with (colon & tab) in tData
   replace numtoChar(250) with cr in tData

   -- remove records for all but USB drives (English data only)
   filter tData with "*Detachable Drive: Yes*"

   -- remove space-padding from items in each line
   set the itemDel to tab
   repeat for each line tLine in tData
      put empty into tNewLine
      repeat for each item tItem in tLine
         put word 1 to -1 of tItem & tab after tNewLine
      end repeat

      -- insert a device tag at beginning of device description
      delete last char of item 1 of tNewLine -- trailing colon
      put "Device: " before item 1 of tNewLine

-- remove single 'volumes:' tag at beginning of all volume descriptions
      replace "Volumes:" & tab with empty in tNewLine

      -- insert a "volume: " tag at the start of each volume description
replace (colon & tab) with cr in tNewLine -- break after each volume name
      repeat with x = 1 to (the number of lines in tNewLine - 1)
         put "Volume: " before last item of line x of tNewLine
      end repeat
      replace cr with tab in tNewLine

      -- append finished line to rest of data
      put cr into last char of tNewLine
      put tNewLine after tNewData
   end repeat
   delete last char of tNewData

   -- return the data
   return tNewData
end macUsbDrives

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to