views:

32

answers:

1

This question isn't limited to people who know AppleScript, if you do Cocoa, etc., you should know the answer to this:

I'm making a droplet in AppleScript that compresses JavaScript files, so obviously, I only want JavaScript files to be allowed into the scripts. Any ideas?

Thanks so much.

+2  A: 
property kJavascriptExtension : "js"
property pValidFileList : {}

on open of theFiles -- Executed when files are dropped on the script

    set fileCount to (get count of items in theFiles)

    repeat with thisFile from 1 to fileCount
     set theFile to item thisFile of theFiles
     set theFileAlias to theFile as alias

     tell application "Finder"
      set fileInfo to info for theFileAlias
      set fileName to name of fileInfo
     end tell

     set javascriptFileFound to isJavascriptFile(fileName) of me

     if (javascriptFileFound) then
      set end of pValidFileList to theFile
     end if
    end repeat

    display dialog "pValidFileList = " & pValidFileList
    -- do something with your files here
end open

on isJavascriptFile(theFilename) -- (theFilename as string) as boolean
    set AppleScript's text item delimiters to "."
    set fileNameList to every text item of theFilename
    set AppleScript's text item delimiters to ""

    try
     set theFileExtension to item 2 of fileNameList as string
    on error
     return false
    end try

    if theFileExtension is kJavascriptExtension then
     return true
    end if

    return false
end isJavascriptFile
Philip Regan
This is great! I expected some sort of Info.plist property, but this seems a lot simpler.
Alexsander Akers