[MacRuby-devel] Appscript and pathname translation
Robert Schaaf
rwschaaf at comcast.net
Thu Apr 19 05:37:46 PDT 2012
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 at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20120419/9aeca949/attachment-0001.html>
More information about the MacRuby-devel
mailing list