Thanks Al,

This works like a charm.  I can guarantee that no directories will get through, 
but as to avoiding HFS, I'm afraid Excel wants it.

Now if only there was a way to speed up Macruby's load time.  It would be nice 
if someone forked the project to make Macruby a system service launched at 
boot, with a persistent heap, ala Maglev.

Cheers,

Bob Schaaf


On Apr 18, 2012, at 10:02 AM, Alan Skipp wrote:

> Hi Bob,
> If at all possible I'd try and avoid the conversion. If this is not feasible, 
> this could help:
> 
> def posix_from_hfs(hfs)
>     url = CFURLCreateWithFileSystemPath(nil, hfs, KCFURLHFSPathStyle, false) 
> # final argument is whether the path is a directory or not
>     url.path
> end
> 
> def hfs_from_posix(posix)
>     url = NSURL.fileURLWithPath posix
>     CFURLCopyFileSystemPath(url, KCFURLHFSPathStyle)
> end
> 
> The first method needs reworking, as it assumes that the HFS path is not a 
> directory.
> I've only did a very brief test of the above code, but it seems to do the job.
> 
> Al
> 
> On 18 Apr 2012, at 12:48, Robert Schaaf wrote:
> 
>> Hello again, Macruby community!
>> 
>> I'm trying to rewrite a program that drives Excel with appscript, and 
>> running into the problem of translating back and forth between HFS and POSIX 
>> pathnames.  The old Appscript module included a MacTypes module, and these 
>> two translations were provided.
>> 
>> 1. to go from POSIX to HFS:  
>> 
>>      hfs_pathname  = MacTypes::FileURL.path(posix_pathname).hfs_path
>> 
>> 2. to make the round trip back to POSIX:  
>>      
>>      posix_pathname  = 
>> DefaultCodecs.unpack(DefaultCodecs.pack(hfs_pathname).coerce(KAE::TypeFileURL)).path
>> 
>> Do I need to go to the scripting bridge for this?  This is Core Foundation 
>> stuff, and I'm totally at sea.  
>> 
>> Any help would be greatly appreciated.
>> 
>> Bob Schaaf
>> 
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel@lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to