• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: AS Application
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AS Application


  • Subject: Re: AS Application
  • From: "Steffan A. Cline" <email@hidden>
  • Date: Sun, 27 Sep 2009 00:34:02 -0700
  • Thread-topic: AS Application

Thanks Ed!

Funny thing is I had invested a few hours into it before you replied. This
is what I have come up with so far. It's longer than yours but fancier. I am
able to vary the output and functionality quite a bit. Let me know what you
think.

property allowedFileTypes : {"js", "css"}

minimizeFiles(choose file with prompt "Select a .js or .css file to be
minimzed." of type allowedFileTypes with multiple selections allowed)

on open filelist
    minimizeFiles(filelist)
end open

on minimizeFiles(filelist)
    repeat with i in filelist
        set originalPathAndFile to the POSIX path of (i as alias)

        tell application "Finder" to set ext to name extension of i
        if ext is not in allowedFileTypes then
            display dialog "The extension " & quoted form of ext & " is not
supported by the YUI compressor." with icon stop buttons "Bummer!" default
button 1
            exit repeat
        end if

        set pathToThisApp to POSIX path of (path to me) as text

        set originalPath to split(originalPathAndFile, "/")
        set originalPath to join((items 1 thru ((count originalPath) - 1) of
originalPath), "/")

        set originalFile to getFileName(originalPathAndFile)

        set newFile to split(originalFile, ".")
        set newFile to join((items 1 thru ((count newFile) - 1) of newFile),
".") & "min." & ext

        set newPathAndFile to originalPath & newFile

        try
            tell application "Finder" to if exists newPathAndFile as POSIX
file then set newPathAndFile to POSIX path of ¬
                (choose file name with prompt "The default name for the
minimized file is taken. Please choose another name." default location
originalPath default name newFile)
            set newFile to getFileName(newPathAndFile)
        end try

        set command to "java -jar " & (quoted form of (pathToThisApp &
"Contents/Resources/yuicompressor-2.4.2.jar")) & " " & (quoted form of
originalPathAndFile) & ¬
            " -o " & (quoted form of newPathAndFile) & " --charset utf-8"

        try
            do shell script command
            display dialog "The file " & (quoted form of originalFile) & "
has been successfully minified. " & return & return & "The new file is
called " & (quoted form of newFile) ¬
                with icon alias ((path to me) &
"Contents:Resources:yahoo.icns" as string) buttons "Awesome!" default button
1
        on error errorMsg
            display dialog "The file " & (quoted form of pathAndFile) & "
could not be minified because the following error(s) occurred:" default
answer errorMsg ¬
                with icon stop buttons "Bummer!" default button 1
        end try
    end repeat
end minimizeFiles

on split(theString, theDelimiter)
    -- save delimiters to restore old settings
    set oldDelimiters to AppleScript's text item delimiters
    -- set delimiters to delimiter to be used
    set AppleScript's text item delimiters to theDelimiter
    -- create the array
    set theArray to every text item of theString
    -- restore the old setting
    set AppleScript's text item delimiters to oldDelimiters
    -- return the result
    return theArray
end split

on join(theArray, theDelimiter)
    set out to ""
    repeat with i in theArray
        set out to out & i & theDelimiter
    end repeat
    return out
end join

on getFileName(x)
    set x to split(x, "/")
    set x to item (count x) of x
    return x
end getFileName



on 9/26/09 11:31 PM, email@hidden at email@hidden wrote:

>
> On Sep 26, 2009, at 6:29pm, Steffan A. Cline wrote:
>
>> Ok. Here it is. It's working well. If anyone has suggestions for
>> optimization, I'm all ears.
>>
>
> This is pretty good work, below is a slightly modified version...
>
> You don't need to coerce i to an alias, both choose file and on open
> return a list of aliases
>
> You can use a single file command to get the file extension.
>
> You can use the & to concatenate the new file name.
>
> You don't need to put the posix path coercion in a Finder tell, and,
> they say, it's better without the tell.
>
> HTH,
>
> ES
>
> MinimizeFiles(choose file with prompt "Select a .js or .css file to be
> minimzed." of type {"js", "css"} with multiple selections allowed)
>
> on MinimizeFiles(filelist)
>   repeat with i in filelist
>    tell application "Finder" to set ext to name extension of i
>    if ext is not in {"js", "css"} then
>     display dialog "The extension " & quoted form of ext & " is not
> supported by the YUI compressor." with icon stop buttons "Damn!"
>     exit repeat
>    end if
>    set oldDelims to AppleScript's text item delimiters
>    set AppleScript's text item delimiters to {"." & ext}
>    set filename to the POSIX path of i --Finder tell not needed
>    set newname to text item 1 of filename & ".min." & ext
>    set AppleScript's text item delimiters to oldDelims
>    set myPath to POSIX path of (path to me) as text
>    set javaJarCommand to "java -jar " & (quoted form of (myPath &
> "Contents/Resources/yuicompressor-2.4.2.jar")) & ¬
>     " " & (quoted form of filename) & " -o " & (quoted form of
> newname) & " --charset utf-8"
>    try
>     do shell script javaJarCommand
>     display dialog "The file " & (quoted form of filename) & " has
> been successfully minified. " & return & return & "The saved file is
> called" & (quoted form of newname) buttons "Awesome!"
>    on error errorMsg
>     display dialog "The file " & (quoted form of filename) & " could
> not be minified because the following error(s) occurred:" default
> answer errorMsg with icon stop buttons "Damn!"
>    end try
>   end repeat
> end MinimizeFiles
>
> on open filelist
>   MinimizeFiles(filelist)
> end open

Thanks

Steffan

---------------------------------------------------------------
T E L  6 0 2 . 7 9 3 . 0 0 1 4 | F A X  6 0 2 . 9 7 1 . 1 6 9 4
Steffan A. Cline
email@hidden                             Phoenix, Az
http://www.ExecuChoice.net                                  USA
AIM : SteffanC          ICQ : 57234309
YAHOO : Steffan_Cline   MSN : email@hidden
GOOGLE: Steffan.Cline             Lasso Partner Alliance Member
---------------------------------------------------------------



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users

This email sent to email@hidden

  • Follow-Ups:
    • Re: AS Application
      • From: "Steffan A. Cline" <email@hidden>
References: 
 >Re: AS Application (From: "email@hidden" <email@hidden>)

  • Prev by Date: Re: Manipulating text
  • Next by Date: Re: Disappearing Mail Trash
  • Previous by thread: Re: AS Application
  • Next by thread: Re: AS Application
  • Index(es):
    • Date
    • Thread