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