Loading...

applescript-users@lists.apple.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: Ghost Comments Axel Luttgens Sat Feb 18 03:00:13 2012

Le 18 févr. 2012 à 00:46, Luther Fuller a écrit :

> While working on a script this afternoon, I noticed something that shouldn't 
> happen.
> So, I wrote this quick test script (in 10.6.8) to discover what was happening 
> ...
> 
> [...]
> 
> After the first run, you will have a folder "TEST" on your desktop.
> Get Info for this folder and enter some text in the comment field. Close Get 
> Info.
> 
> Now run this script again, and again, and ...
> 
> Every time it runs, it displays the text you entered in the comment field.
> Yet the folder and presumably its comment have been deleted on each run.
> 
> The fix is to use this:
>       set newFolder to (make new folder at deskAlias with properties 
> {name:"TEST", comment:""}) as alias
> 
> Anyone have an explanation?

IIRC, starting with 10.4, those comments are stored as metadata.
But it seems that the Finder is somehow (and possibly somewhat erroneously) 
caching the info:

        tell application "Finder"
                if (exists folder "TEST" of desktop) then tell application 
"System Events" to delete folder "TEST" of desktop folder
                tell (make new folder at desktop with properties {name:"TEST"})
                        comment of it
                        --> "previously entered comment"
                        it as alias
                end tell
        end tell
        do shell script "mdls -name kMDItemFinderComment " & quoted form of 
POSIX path of result
        --> "kMDItemFinderComment = (null)"

By setting the comment while creating the new folder, you are updating that 
cached info.
Alternatively, you may let the finder know what's happening instead of doing 
various things behind the scene:

        tell application "Finder"
                if (exists folder "TEST" of desktop) then delete folder "TEST" 
of desktop
                tell (make new folder at desktop with properties {name:"TEST"})
                        comment of it
                        --> ""
                        it as alias
                end tell
        end tell
        do shell script "mdls -name kMDItemFinderComment " & quoted form of 
POSIX path of result
        --> "kMDItemFinderComment = (null)"

But I really don't know how the Finder caches such data; just restarting it 
isn't sufficient.

Axel


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list      ([EMAIL PROTECTED])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/applescript-users/alexiscircle%40gmail.com
Archives: http://lists.apple.com/archives/applescript-users

This email sent to [EMAIL PROTECTED]