[Pythonmac-SIG] AppleEvents in MacPython 2.3?
Bob Ippolito
bob at redivi.com
Mon Aug 11 20:58:08 EDT 2003
On Monday, Aug 11, 2003, at 19:10 America/New_York, Mark Day wrote:
>
> On Monday, August 11, 2003, at 3:15 PM, Bob Ippolito wrote:
>
>> On Monday, Aug 11, 2003, at 17:47 America/New_York, Larry Meyn wrote:
>>
>>> On a related subject of colon separated AppleScript paths, how does
>>> one get the name of the root disk for generating absolute OS 9
>>> style (colon separated) paths? The abspath function from the
>>> macpath module doesn't work under OS X , because it uses os.getcwd()
>>> which returns a "/" delimited path. Are some nice functions that
>>> someone has written that can convert between the two path styles
>>> under OS X?
>>
>> import Carbon.File
>> print Carbon.File.FSRef('/').FSGetCatalogInfo(0)[1]
>> # looks like the full unicode name for the volume.. but maybe OS9
>> colon paths use the FSSpec paths?
>
> Close. In general, you convert the POSIX-style path to an FSRef (in
> Carbon this would be FSPathMakeRef; in Python you can also use
> Carbon.File.FSRef()). Then, call FSGetCatalogInfo and get the FSSpec.
> Look inside the FSSpec for the name. That's the name used by
> traditional Mac OS 9 style paths. (Note that there is no such thing
> as a Unicode path as far as the Carbon File Manager is concerned).
>
> Here's what you'd use to get just the name:
> print Carbon.File.FSRef('/').FSGetCatalogInfo(0)[2].as_tuple()[2]
>
> The first [2] gets the FSSpec output from FSGetCatalogInfo. The
> second [2] gets the name out of the FSSpec.
I thought the FSRef was capable of long utf8 file names, and it was my
guess that's what FSGetCatalogInfo(0)[1] was?
-bob
More information about the Pythonmac-SIG
mailing list